Pembahasan source code cms kasir sederhana menggunakan php Pembahasan source code cms kasir sederhana menggunakan php | isMediaNet

Rabu, 16 November 2011

Pembahasan source code cms kasir sederhana menggunakan php

setelah release versi sederhana cms sebagai sarana belajar. Sebelumnya telah dijelaskan sedikit tentang posting terdahulu tentang kasir 0.1 beserta source code bisa di unduh secara gratis. telah berkali-kali dijelaskan tentang kesederhanaan cms tersebut dengan maksud untuk mempermudah buat junior porogrammer atau new webie untuk memulai membuat web atau aplikasi yang teramat sangat kompleks... uih kedengarannya ngeri hehe... tenang aja hal tersebut akan menjadi hal yang biasa nantinya.
Walaupun aplikasi tersebut masih sangat sederhana yang seharusnya memudahkan untuk dipahami namun penulis menyadari penempatan file dan coding secara keseluruhan masih bisa dibilang acak-acakan. Tapi dari situlah penulis pada awalnya mulai memahami bagaimana membangun cms sederhana dijaman lampau meski baru sempat release secara gratis.. yaiya lah gratis mana ada yang mau beli gituan hehe.. ilmunya Gan..
lanjut..
Instalasi kasir 1.0
setelah mendownload file cms dan melakukan ekstaksi akan ditemui readmefirst dan kasir.sql. silakan baca file readmefirs.txt untuk lebih mudah dalam memahami. file kasir.sql merupakan file database, silakan pasang databasenya, semoga sudah paham cara memasang database ya.. kalau belum silakan tanya tetangga sebelah atau mampir lagi sini hehe..
penjelasan kode
pada file root kasir0.1 akan ditemui beberapa file sesuai dengan gambar


file credits.php berisi profil yang sebenarnya tidak terlalu penting.
file index.php merupakan yang pertama kali akan dieksekusi oleh server.
source code
<?php
    header("location:login.php");
    //menggunakan fungsi redirect supaya memudahkan jika ada perubahan tentang file yang diload pertama kali
?>

di sini file indek sengaja hanya berisi fungsi redirect (header) supaya memudahkan untuk memilih file mana yang akan diload. hal ini juga akan memudahkan jika akan dilakukan penggantian file yang akan diload. header merupakan fungsi bawaan dari php. terlihat di code-nya bahwa yang diload dari index adalah file login (file login.php dijadikan sebagai tampilan pertama)

file login.php
file ini berisi tampilan login dan filterisasi session artinya jika telah melakukan login sesuai dengan user yang terdaftar didatabase maka tampilan utama yang tadinya login akan diganti dengan file media.php buka tampilan login lagi.

source code

<?php
    session_start();//memulai session
    error_reporting(0);//matikan semua error
    if (empty($_SESSION['username']) AND empty($_SESSION['passuser']) AND $_SESSION['login']==0){                
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
    <head>
        <title>
        </title>
        <link href="default.css" rel="stylesheet" type="text/css" media="screen">
        <script language="javascript">
        function validasi(form){
            if (form.user_name.value == ""){
                alert("Anda belum mengisikan Username.");
                form.user_name.focus();
                return (false);
            }            
            if (form.password.value == ""){
                alert("Anda belum mengisikan Password.");
                form.password.focus();
                return (false);
            }
            return (true);
        }
        </script>
    </head>
    <body>
        <div id="loginbox">
            <div class="top-login">
            </div>
            <div class="main-login">
                <div class="login-header">
                    <div class="logo">
                        <span class="title">
                            <img src="images/logo.png" alt="" width="80" height="80" class="picture" />
                        </span>
                    </div>
                </div>
                <form name="login" action="validasi.php" method="POST" onSubmit="return validasi(this)">
                <div class="login-inside">
                    <div class="login-data">
                      <table width="100%" border="0" cellspacing="0" cellpadding="0">
                        <tr>
                          <td><div align="center">
                            <table cellpadding="0" cellspacing="0">
                              <tr>
                                <td height="25">Username</td>
                                <td> :
                                  <input type="text" name="user_name"  class="text" /></td>
                              </tr>
                              <tr>
                                <td height="26">Password</td>
                                <td> :
                                  <input type="password" class="text" name="password" /></td>
                              </tr>

                              <tr>
                                <td colspan="2"><div align="right">
                                  <input name="submit"  class="submit" type="submit" value="LOGIN" />
                                </div></td>
                              </tr>
                            </table>
                          </div></td>
                        </tr>
                      </table>
                    </div>
                </div>
                </form>
            </div>
            <div class="bottom-login"></div>
        </div>
         <p align="center"><small>&copy;&nbsp; Copy Right 2011 &nbsp;&nbsp; Design by ismedia<br />
         free simple cms for learning</small></p>
    </body>
</html>
<?php
}else{
    header('location:media.php?module=home');
}
?>


file login ini digunakan sebagai halaman awal untuk melakukan filterisasi user melalui form input username dan password.

file media.php
file ini bisa dikatakan kerangka utama sebagai tampilan ketika sudah melakukan login. Pada file ini akan memanggil dua file yaitu file menu.php dan isi.php. File menu berfungsi untuk memanggil menu-menu atau fungsi-fungsi apa yang bisa dilakukan melalui aplikasi tersebut. tampilan menu akan berbeda antara admin dan user biasa caranya dengan melakukan filterisasi session. file isi berfungsi untuk menampilkan hasil dari pemanggilan menu.

source code
<?php
    session_start();//memulai session
    error_reporting(0);//matikan semua error
    include "timeout.php";//memasukan fungsi pada timeout untuk memberikan durasi waktu maks tidak ada operasi
    if($_SESSION[login]==1){
        if(!cek_login()){
            $_SESSION[login] = 0;
            if ($_SESSION[login]==0){
                header('location:notifi.php?tanda=time');
            }
        }
        if (empty($_SESSION['username']) AND empty($_SESSION['passuser']) AND $_SESSION['login']==0){
            header('location:notifi.php?tanda=autority');
        }else{


?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title>
        </title>
        <link href='default.css' rel='stylesheet' type='text/css'>      
    </head>
    <body>
        <div id="wrapper">  
            <div id="header">
                <div class="logo">
                    <img src="images/logo.png" alt="Logo" width="50" height="50" class="picture" />
                </div>
                <div class="menu-header">
                    <ul>
                        <li>
                            <a href="?module=home"><img src="images/home.png" height="14px" width="18px" border="0px"/>&nbsp;&nbsp;Beranda</a>
                        </li>
                        <li>
                            <a href="logout.php" onclick="return confirm('Akan keluar dari halaman Administrator?');">
                            <img src="images/logout.png" height="14px" width="14px" border="0px" />&nbsp;&nbsp;Log out</a>
                        </li>
                        <li>
                        </li>
                        <li>
                        </li>
                    </ul>
                </div>
            </div>      
            <div id="page">
                <div id="sidebar">  
                    <br /><br />
                    <?php
                    //memanggil file menu.php
                        include"menu.php";
                    ?>              
                </div>

                <div id="content">
                    <?php
                    //memanggil file isi.php
                        include"isi.php";
                    ?>
                </div>
                <div id="footer"></div>
            </div>
        </div>      
    </body>
    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
</html>
<?php
        }
    }else{
        header('location:notifi.php?tanda=autority');
    }  
?>



file validasi.php
file ini dijalankan setelah file login. File ini berfungsi untuk mengeksekusi perintah login yaitu melakukan pengecekkan terhadap database apakah masukkan login telah terdaftar sebelumnya atau belum. Pada file ini terdapat pemanggilan terhadap beberapa fungsi diantaranya koneksi database, sql injection dan lain-lain namun inti utamanya melakukan validasi masukkan login.

source code

<?php
    include("konfigurasi/config.php");
    konek_db();
    $user        =anti_injection($_POST['user_name']);
    $password    =anti_injection(md5($_POST['password']));
    if (!(ctype_alnum($user)) OR !(ctype_alnum($password))){
        header("location:notifi.php?tanda=tipe_data");
    }else{
    $sql="SELECT * FROM users WHERE username='$user' AND password='$password'";
    $login=mysql_query($sql) or die("ERROR".mysql_error());
    $ketemu=mysql_num_rows($login);
// Apabila user dan password ditemukan
        if ($ketemu > 0){
            $r=mysql_fetch_array($login);
            session_start();
            include "timeout.php";
            //menginstance session dengan data di database
            $_SESSION[namauser]     = $r[username];
            $_SESSION[passuser]     = $r[password];  
            $_SESSION[stat]            = $r[status];
            // session timeout
            $_SESSION[login] = 1;
            timer();          
            header('location:media.php?module=home');
        }else{
            header("location:notifi.php?tanda=user");    
        }
    }



?>

Mungkin sampai disini dulu penjelasannya. Untuk file-file lainnya bisa dipelajari sendiri dahulu ya..
kalau ada yang bingung bisa ditanyakan

2 komentar:

Bisnis Online Blog mengatakan...

Izin menyimak sob.Di tunngu kunjungan baliknya yah

AWD Online mengatakan...

Mantaps
Thanks

Posting Komentar