SlideShare a Scribd company logo
1 of 39
CandraLab Coding Studio http://www.candra.web.id




eCommerce
dengan PHP MySQL
Candra Adi Putra (candraadiputra@gmail.com)




                                                   12
Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id)




                   2
Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id)


Table of Contents
BAB I INSTALASI DAN DASAR PHP ................................................................................................................ 5

   Konsep Apache, PHP, Mysql .................................................................................................................... 5

   Tool Yang Dipakai ...................................................................................................................................... 5

   Appserver .................................................................................................................................................. 5

       Notepad++ ............................................................................................................................................ 5

       Aptana IDE............................................................................................................................................. 6

       Google Chrome ..................................................................................................................................... 6

       MySQL Workbench ............................................................................................................................... 6

   Memahami Konfigurasi PHP ..................................................................................................................... 7

   Membuat Kerangka dasar website ........................................................................................................... 7

       Konsep GET Dan POST........................................................................................................................... 7

       Teknik Include Page .............................................................................................................................. 7

BAB II Perancangan Database, Login Dan Validasi Form ........................................................................... 10

   Perancangan Database ........................................................................................................................... 10

   Login ........................................................................................................................................................ 11

       Tabel pengelola ................................................................................................................................... 11

       Form Login .......................................................................................................................................... 11

       Cek Login dan redirect ........................................................................................................................ 12

Form Validasi............................................................................................................................................... 13

       Mengenal Library Validasi Javascript .................................................................................................. 13

       Teknik Validasi Berbagai Macam Input ............................................................................................... 14

BAB III CRUD ................................................................................................................................................ 17

   Insert Data............................................................................................................................................... 17

   Tampil Data ............................................................................................................................................. 19

   Update Data ............................................................................................................................................ 22

                                                                                3
Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id)


   Delete Data ............................................................................................................................................. 24

BAB IV Membuat Katalog Produk ............................................................................................................... 25

   Menu Kategori Produk Dinamis .............................................................................................................. 25

   Daftar Produk Dinamis ........................................................................................................................... 26

BAB V Transaksi Dan Laporan ..................................................................................................................... 29

   Membuat Cart Belanja ............................................................................................................................ 29

   Tampilan chart ........................................................................................................................................ 36

   Membuat Laporan Penjualan ................................................................................................................. 36

   Tampilan laporan buku ........................................................................................................................... 38




                                                                              4
Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id)


                          BAB I INSTALASI DAN DASAR PHP


Konsep Apache, PHP, MySQL
Apache adalah webserver yang bertugas untuk memberikan halaman website yang diminta oleh
Browser
PHP adalah bahasa pemrograman web untuk membuat website yang dinamis
MySQL adalah database server yang dipakai untuk menyimpan data termasuk data admin, data barang
data transaksi dan sebagainya




Tool Yang Dipakai




                                Appserver
                                Appserver adalah bundle software yang terdiri dari beberapa
                                komponen, diantaranya adalah MySQL, PHP, Apache dan PHPMyAdmin.
                                Dengan menggunakan Appserv kita tidak perlu menginstall program satu
                                persatu. Dari semua program diatas, program yang paling Nampak
   adalah PHPMyAdmin. Aplikasi ini adalah tool berbasis web untuk mengolah data MySQL. Anda bisa
   mendapatkannya di http://www.appservnetwork.com/



Notepad++


                           Notepad++ adalah standar programmer editor. Sebenarnya selain
                           notepad++, juga masih banyak editor yang lain. Anda boleh saja
                           menggunakan sembarang editor, namun disarankan editor yang dipakai
                           adalah editor yang mempunyai 3 fitur utama yaitu Syntax Higlighting, Code
   folding dan Line numbering. Notepad++ dipakai untuk editing file secara cepat (misal Bugfix) atau
   mengedit satu dua baris yang error.




                                                   5
Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id)




Aptana IDE
   Aptana IDE adalah IDE untuk membuat program berbasis Web. anda boleh saja memakai
   DreamWeaver , namun saya sendiri memilih Aptana IDE mengingat IDE ini besifat open source,
   mampu bejalan di banyak Platform (Windows, Linux, Mac) dan GRATIS. Namun hal yang paling
   penting dengan adanya ide adalah adanya project manajement.




                                         Figure 1 Logo Aptana IDE


   Kelebihan utama dari Aptana di banding dreamweaver atau editor notepad++ adalah
   kemampuannya untuk memformat code sekaligus mengecek kesalahan syntax langsung di editor.




Google Chrome
   Google chrome di pakai untuk mentesting website. Boleh saja menggunakan browser lain, justru
   yang disarankan, kita mencoba di setiap browser untuk memastikan tampilan dan aplikasi yang kita
   buat berjalan dengan benar. Namun Google Chrome mempunyai kelebihan karena sederhana dan
   adanya fitur Developer tool yang canggih( penjelasan lebih lanjut di praktik).




MySQL Workbench


                                  Hal yang paling penting saat mendesain database adalah membuat
                                  relasi antar table. Anda bisa saja membuat menggunakan tool
                                  perancangan biasa. MySQL workbench lebih dari itu, dia bisa
                                  membuat table beserta relasinya dan secara “Automagic” dia akan



                                                    6
Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id)


     membuat SQL scripnya. MySQL workbench juga bisa membuat diagram relasi table langsung dari
     MySQL script (reverse engine) .




Memahami Konfigurasi PHP
Sebelum anda membaut program menggunakan PHP, anda harus faham dua hal yang paling utama, dua
hal tersebut adalah short_open_tag dan error_reporting. Dua hal ini dibahas di kelas.




Membuat Kerangka dasar website
Konsep GET Dan POST
GET dan POST adalah dua teknik mengirim data ke server ,namun apa sih perbedaannya? Buatlah
program sederhana seperti dibawah ini untuk mengetahui.

Code 1.1 konverter.php

<form action="konverter.php" >
<input type="text" name="dollar">


<input type="submit" value="konversi">
</form>
<?php
$dollar=$_GET['dollar'];
$rupiah=$dollar* 8500;
echo $dollar." US dollar =".$rupiah;
?>



Sekarang ubahlah get menjadi POST!

Teknik Include Page
Untuk membuat sebuah halaman website yang komplek. Ada beberapa teknik agar efektif dalam hal
desain dan source code. Teknik yang paling sering di pakai adalah teknik include page. Codenya
utamanya adalah sbb:


                                                   7
Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id)


Code.1.2 snippet include page

<?php
/* kode untuk meload halaman yang berbeda*/
if(isset($_GET['pg'])){
$page=$_GET['pg'].".php";
include($page);


}else{
include('home.php');
}
?>




                                   Gambar 1.1 Tampilan layout website


Untuk membuat link ke home dan cara pesan, minimal seperti ini di code 1.2 kemudian buatlah file
home.php dn cara pesan.php dalam format html biasa




                                                   8
Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id)


Code 1.3 home.php

<!—home.php
<h1>Selamat datang di toko buku murah</h1>
<P>
       disini anda bisa membeli dan memesan buku dengan mudah, anda
tinggal klik, maka buku sampai di tempat anda.
       tidak perlu lagi jauh jauh ke toko buku
</p>



Sedangkan halaman contact.php sbb:

Code 1.4 contact.php

<h1>Alamat kami</h1>
<p>
Jalan Lurus no 5 Yogyakarta
<br> Telp (0274) 123456
<br> Email:bukumurah@gmail.com
</p>




                                             9
Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id)


            BAB II Perancangan Database, Login Dan Validasi Form

Perancangan Database
Sebelum lebih jauh membahas code, berikut ini adalah diagram database untuk system ecommerce
yang akan kita buat.




                                   Gambar 2.1 Diagram Relasi tabel

                                                 10
Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id)




Login
Untuk membuat halaman login, 3 hal utama yang perlu di lakukan adalah sbb:

   1. Membuat table pengelola
   2. Membuat halaman form login
   3. Mengecek user di database
   4. Jika sukses, menyimpan username kedalam session
   5. Redirect user ke halaman admin.

Tabel pengelola




Form Login
Code 2.1 form login

!--table pengolahan data nanti disini-->
<h1> Login page</h1>
<form id="form1" name="form1" method="post"
action="pengelola_check_login.php">
<table     align="center">
<tr>
<td >username*</td>
<td ><input name="username" type="text" id="username"                        /></td>
</tr>
<tr>
<td>password*</td>
<td><input name="password" type="password" id="password"                        /></td>
<tr>
<td colspan="3" align="right">
<input type="submit" name="Submit" value="Submit" />


                                                11
Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id)


<input type="reset" name="" value="Reset" /></td>
</tr>



Cek Login dan redirect
Code 2. 2 cek_login

<?php
session_start();
session_register('username');


//file konfigurasi
include ('inc/config.php');


$username = $_POST['username'];
$password = $_POST['password'];


$password = md5($password);


$sql = "select * from pengelola where username='$username'
    and password='$password' ";


$userquery = mysql_query($sql) or die(mysql_error());
//      $valid=false;
if (mysql_num_rows($userquery) == 1) {


        header('location:index.php');
        $valid = true;
        $_SESSION['username'] = $username;
}


if ($valid == false) {
        header("Location:form_login.php?status=1");
}
?>


                                           12
Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id)




Jangan lupa buat file config.php yang berisi konfigurasi database

Code 2.3 konfigurasi database

<?php
$host = "localhost";
// Host name


$username = "root";
// Mysql username
$password = "root";
// Mysql password
$db_name = "bookdb";
// Database name


// Connect to server and select database.
mysql_connect("$host", "$username", "$password") or die("cannot
connect" . mysql_error());
mysql_select_db("$db_name") or die(mysql_error());
?>




Form Validasi

Mengenal Library Validasi Javascript
Untuk memvalidasi form, ada berbagai macam teknik. Namun secara umum dibagi dua, yaitu server side
check dan client side check. Modul ini hanya membahas sc ript validasi menggunakan script dari
http://www.javascript-coder.com/html-form/javascript-form-validation.phtml.




                                                   13
Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id)


Teknik Validasi Berbagai Macam Input
Script yang disediakan diatas sudah mencakup berbagai macam validasi diantaranya adalah

Validation            Usage
required or
                      Harus di isi
req
maxlen=??? or
                      Validasi input dengan maxmal karakter tertentu
maxlength=???
minlen=??? or
                      Validasi input dengan minimal karakter tertentu
minlength=???
alphanumeric or
                      Input harus alphanumeric (huruf dan angka tanpa spasi)
alnum
alphanumeric_space
                      Input harus alphanumeric (huruf dan angka plus spasi)
alnum_s
num
                      Input harus angka
numeric
                      Input harus huruf atau symbol
alpha
alphabetic

alpha_s
alphabetic_space      Input harus huruf dan atau spasi


email                 Validasi email
lt=???
                      Lebih kecil dari
lessthan=???
gt=???
                      Lebih besar dari
greaterthan=???



Untuk menggunakan teknik validasi ini, pertama tambahkan code dibawah ini

Code 2.3 script validasi

<script src="js/validjs.js"></script>

                                                      14
Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id)




Dan letakan scipt validasi persis dibawah form

Code 2.4 cara memvalidasi form

<script language="JavaScript" type="text/javascript"
xml:space="preserve">//<![CDATA[


var frmvalidator = new Validator("form1");
frmvalidator.EnableOnPageErrorDisplaySingleBox();
frmvalidator.EnableMsgsTogether();
frmvalidator.addValidation("username", "req", "Username masih kosong
");
frmvalidator.addValidation("password", "req", "Password masih kosong
");
//]]></script>



Langkah terakhir, letakan dimana pesan error ingin ditampilkan

Code 2.5 cara menampilkan output validasi

<div id="form1_errorloc" style="color:red">


</div>




                                                 15
Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id)


Berikut ini adalah tampilan kalau login gagal




                                Gambar 3 Validasi form menggunakan javascript




                                                     16
Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id)


                                           BAB III CRUD


Crud adalah proses pengelohan data standar yang terdiri dari 4 operasi dasar yaitu create, retrieve,
update dan delete. Dalam bab ini, kita hanya akan membahas table pengelola . Untuk setiap table, kita
membutuhkan 5 file, file file itu adalah

    1. Pengelola_view
    2. Pengelola_form_add
    3. Pengelola_add
    4. Pengelola_form_edit
    5. Pengelola_edit

Biasakan menggunakan format <namatabel>_action.php. Penamaan seperti ini akan
memudahkan ketika nanti terjadi error dan lebih mudah dipahami.

Insert Data
Code 3.1 pengelola_Form_add

<form id="form1" name="form1" method="post"
action="pengelola_add.php">
     <td>
     <table>
           <tr>
                 <td width="120">username</td>
                 <td width="350">
                 <input name="username" type="text" id="username"
size="40" />
                 </td>
           </tr>
           <tr>
                 <td width="120">password</td>
                 <td width="350">
                 <input name="password" type="password" id="password"
size="40" />
                 </td>
           </tr>
           <tr>
                 <td>&nbsp;</td>

                <td>
                <input type="submit" name="tambahPengelola"
value="Tambah" />

                                                   17
Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id)


                      <input type="reset" name="resetbtn" value="Reset" />
                      </td>
              </tr>
              <tr>
                 <td colspan='2'><div id="form1_errorloc"
style="color:red"></div></td>
           </tr>
     </table></td>
</form>
<script language="javaScript" type="text/javascript"
xml:space="preserve">
     //You should create the validator only after the definition of
the HTML form
     var frmvalidator = new Validator("form1");
     frmvalidator.EnableOnPageErrorDisplaySingleBox();
     frmvalidator.EnableMsgsTogether();

     frmvalidator.addValidation("username",             "req", "username masih
kosong ");
     frmvalidator.addValidation("password",             "req", "password       masih
kosong ");
     frmvalidator.addValidation("username",             "maxlen=20", " username
tidak boleh lebih dari 20 ");
     frmvalidator.addValidation("password",             "alnum_s", "password
tidak boleh ada spasi ");

</script>



Code 3.2 pengelola_add

<?php
include ('inc/config.php');
//data dari user
if (isset($_POST['tambahPengelola'])) {
        $username = $_POST['username'];
        $password = $_POST['password'];


        $password = md5($password);
        $sql = "INSERT INTO pengelola(username,password)
              VALUES('$username', '$password')";
        $result = mysql_query($sql) or die(mysql_error());


        //check if query successful


                                           18
Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id)


        if ($result) {
                header('location:index.php?page=pengelola_view&status=0');
        } else {
                header('location:index.php?page=pengelola_view&status=1');
        }
        mysql_close();
}
?>



Tampilan dari form tambah pengelola




                                 Gambar 4 halaman tambah pengelola


Tampil Data
Code 3.3 pengelola_view

<?php
include ('inc/config.php');
?>
<h1> Tabel pengelola</h1>
<table      width="600px" border=0>
        <tr style="background-color:#F79307">
                <td width="200px">Username</td><td>Password</td><td
width="100px">Operasi</td>
        </tr>
        <?php
/*


                                                19
Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id)


* kode untuk menghapus data
*/
if(isset($_GET['del'])){
     $username=$_GET['id'];
     $hapus ="delete from pengelola where username='$username'";
     mysql_query($hapus);
}


$sql="";
if(isset($_POST['btnCari'])){
$cari=$_POST['cari'];
//ambil data dari table admin
$sql="SELECT * FROM     pengelola where username like '%$cari%'";
}else{
$sql="SELECT * FROM     pengelola";
}


$result=mysql_query($sql) or die(mysql_error());




//proses menampilkan data
while($rows=mysql_fetch_array($result)){
?>
     <tr>
             <td><?   echo $rows['username'];?></td>
             <td><?   echo $rows['password'];?></td>
             <td><a href="index.php?page=pengelola_form_edit&id=<? echo
$rows['username']?>"> <img src="image/b_edit.png"></a><a
href="index.php?page=pengelola_view&del=true&id=<? echo
$rows['username']?>"     onclick="return askUser()";> <img
src="image/b_drop.png"></a></td>
     </tr>
     <?
     }


                                         20
Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id)



     //tutup koneksi
     ?>
     <tr>
             <td align=right colspan='2'><?php
             if (isset($_GET['status'])) {
                   if ($_GET['status'] == 0) {
                         echo " <div style='color:blue'>Operasi data
berhasil</div>";
                   } else {
                         echo "operasi gagal";
                   }
             }
             ?></td>
             <td align=right><a
href="index.php?page=pengelola_form_add"> <img src="image/add.jpg">
Add</a></td>
     </tr>
     <tr></tr>
</table>
<?


mysql_close();
//close database


//tampilan siapa yang pengelola
?>




                                         21
Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id)


Tampilan dari pengelola view




                                     Gambar 5 Tampilan tabel pengelola


Update Data
Code 3.4 pengelola_form_edit

<?php
include ('inc/config.php');
$id = $_GET['id'];
//ambil data dari table feedback
$sql = "select * from pengelola where username='$id' ";
$result = mysql_query($sql) or die(mysql_error());
?>
<h2>Change password</h2>
<table>
        <form id="form1" name="form1" method="post"
action="pengelola_edit.php">
               <?
//proses menampilkan data
while($rows=mysql_fetch_array($result)){
               ?>


               <td width="120">username</td>
               <td width="350"><?             echo $rows['username'];?></td>
               <input type="hidden" id="username" name="username" value=<?
echo $rows['username'];?> />


                                                    22
Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id)


           <!--<input type="text" id="username" name="username"
value=<? echo $rows['username'];?> /> --></td>
           </tr>
           <tr>
                   <td width="120">password</td>
                   <td width="350">
                   <input name="password" type="password" id="password"
size="40" />
                   </td>
           </tr>
           <tr>
                   <td>&nbsp;</td>


                   <td>
                   <input type="submit" name="submitUser" value="Submit"
/>
                   <input type="reset" name="resetbtn" value="Reset" />
                   </td>
           </tr>
           <?
           //loop while
           }
           ?>
     </form>
</table>




                                        23
Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id)


Code 3.5 Code untuk mengupdate data

<?php
include ('inc/config.php');
//data dari user
if (isset($_POST['submitUser'])) {
        $username = $_POST['username'];
        $password = $_POST['password'];


        $password = md5($password);
        $sql = " update pengelola set password='$password' where
username='$username'";
        //echo $sql;
        $result = mysql_query($sql) or die(mysql_error());


        //check if query successful
        if ($result) {
              header('location:index.php?page=pengelola_view&status=0');
        } else {
              header('location:index.php?page=pengelola_view&status=1');
        }
        mysql_close();
}
?>



Delete Data
Code 3.6

if(isset($_GET['del'])){
        $username=$_GET['id'];
        $hapus ="delete from pengelola where username='$username'";
        mysql_query($hapus);
}




                                            24
Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id)




                            BAB IV Membuat Katalog Produk

Menu Kategori Produk Dinamis
Bab ini langsung membahas halaman website di depan, untuk halaman admin kategori, anda buat
sendiri. Berikut ini adalah data di halaman admin untuk table kategori




                                         Gambar 6 Kategori produk


Kategori produk dalam hal ini adalah kategori buku degenerate secara dinamis menggunakan kode
sebagai berikut

Code 4.1 kategori.php

<h1> Pilih Kategori buku</h1>
<ul>
        <?php
include('backsite/inc/config.php');
$kat="select kd_kategori,nama_kategori from kategori";
$hasil=mysql_query($kat) or die(mysql_error());
while($get_data=mysql_fetch_array($hasil)){


        ?><li><a
href="index.php?page=detail&id=<?=$get_data['kd_kategori']?>">
                  <? echo $get_data['nama_kategori']?>
                  <!--(<?=$get_data['jumlah']?>)-->

                                                   25
Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id)


        </a></li>
        <?
        }
        ?>
</ul>



Tampilan kategori produk di website




                                         Gambar 7 Kategori buku


Daftar Produk Dinamis
Untuk meleihat detail produk , anda harus mengklik kategori yang ada. Berikut ini adalah kode untuk
menampilkan produk

Code 4.2 detail produk

<h2> Pilih Buku yang mau dibeli </h2>
<?php
$kd_kategori=$_GET['id'];
include('backsite/inc/config.php');
$kat="select * from buku where kd_kategori='$kd_kategori'";
$hasil=mysql_query($kat) or die(mysql_error());


while($get_data=mysql_fetch_array($hasil)){




?>



                                                  26
Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id)


<div class="meta floatLeft width25">
     <a href="index.html" title="View Project" class="thumb">
              <img src="cover/<?=$get_data['cover']?>" width='150px'
heigth='150px'> </a>
     <dl>
             <dt>
                     <span>Harga</span>
             </dt>
             <dd>
                     <?=$get_data['harga']
                     ?>
             </dd>
             <dt>
                     <span>Pengarang</span>
             </dt>
             <dd>
                     <?=$get_data['pengarang']
                     ?>
             </dd>
     </dl>
</div>
<!-- .text: content of post -->
<div class="meta floatRight width50">
     <a name="inspiration"></a>
     <h1><?=$get_data['judul']
     ?></h1>
     <h2>Deskripsi </h2>
     <p>
             <?=$get_data['deskripsi'];?>
     </p>
     <a
href="index.php?page=cart&action=add&id=<?=$get_data['kd_buku']?>">Add
to cart</a>
</div>


                                            27
Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id)


<div style=clear:both></div>
; <?
}
?>



Berikut ini adalah tampilan dari halaman produk detail




                                   Gambar 8 Contoh output detail produk




                                                   28
Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id)


                              BAB V Transaksi Dan Laporan


Membuat Cart Belanja
Code 5.1 keranjang belanja

<?
// Include MySQL class
require_once ('inc/mysql.class.php');
// Include database connection
require_once ('inc/global.inc.php');
// Include functions
require_once ('inc/functions.inc.php');
// Start the session
session_start();


// Process actions
$cart = $_SESSION['cart'];
$action = $_GET['action'];
switch ($action) {
       case 'add' :
               if ($cart) {
                       $cart .= ',' . $_GET['id'];
               } else {
                       $cart = $_GET['id'];
               }
               break;
       case 'delete' :
               if ($cart) {
                       $items = explode(',', $cart);
                       $newcart = '';
                       foreach ($items as $item) {
                               if ($_GET['id'] != $item) {
                                      if ($newcart != '') {



                                               29
Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id)


                                    $newcart .= ',' . $item;
                             } else {
                                    $newcart = $item;
                             }
                       }
                }
                $cart = $newcart;
          }
          break;
     case 'update' :
          if ($cart) {
                $newcart = '';
                foreach ($_POST as $key => $value) {
                       if (stristr($key, 'qty')) {
                             $id = str_replace('qty', '', $key);
                             $items = ($newcart != '') ? explode(',',
$newcart) : explode(',', $cart);
                             $newcart = '';
                             foreach ($items as $item) {
                                    if ($id != $item) {
                                             if ($newcart != '') {
                                                  $newcart .= ',' . $item;
                                             } else {
                                                  $newcart = $item;
                                             }
                                    }
                             }
                             for ($i = 1; $i <= $value; $i++) {
                                    if ($newcart != '') {
                                             $newcart .= ',' . $id;
                                    } else {
                                             $newcart = $id;
                                    }
                             }


                                        30
Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id)


                             }
                      }
               }


               $cart = $newcart;
               break;
}
$_SESSION['cart'] = $cart;
?>


<div id="shoppingcart">
       <h1>Keranjang belanja anda</h1>
       <?php
       echo writeShoppingCart();
       ?>
</div>
<div id="contents">
       <h3>Cek keranjang belanja</h3>
       <?php
       echo showCart();
       ?>




Code 5.2 Kode untuk form data pembeli

<h1>Form Pengiriman barang</h1>
       <a
href="index.php?page=cart&action=finish&kirim=true">Bungkus</a>
       <?php
if(isset($_GET['kirim'])){
       ?>
       <form id="form1" name="form1" method="post"
action="pemesan_add.php">
               <td>


                                             31
Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id)


          <table>
                <!--<tr>
                <td width="120">kd_pemesan</td>


                <td width="350"><input name="kd_pemesan" type="text"
id="kd_pemesan" size="40" /></td>
                </tr>-->
                <tr>
                        <td width="120">Nama</td>
                        <td width="350">
                        <input name="Nama" type="Nama" id="Nama"
size="40" />
                        </td>
                </tr>
                <tr>
                        <td width="120">Alamat</td>
                        <td width="350">
                        <input name="Alamat" type="Alamat" id="Alamat"
size="40" />
                        </td>
                </tr>
                <tr>
                        <td width="120">kd_pos</td>
                        <td width="350">
                        <input name="kd_pos" type="kd_pos" id="kd_pos"
size="40" />
                        </td>
                </tr>
                <tr>
                        <td width="120">No_telp</td>
                        <td width="350">
                        <input name="No_telp" type="No_telp" id="No_telp"
size="40" />
                        </td>


                                      32
Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id)


                </tr>
                <tr>
                        <td width="120">Email</td>
                        <td width="350">
                        <input name="Email" type="Email" id="Email"
size="40" />
                        </td>
                </tr>
                <?php?>
                <tr>
                        <td width="120">Kota</td>
                        <td width="350">
                        <select name='id_kota' id='id_kota'>
                                <?
$get_kota=mysql_query('select * from biaya_kirim order by nama_kota');
while ($rows=mysql_fetch_array($get_kota)){
                                ?>
                                <option
value="<?=$rows['id_kota']?>"><?=$rows['nama_kota']
                                     ?></option>
                                <?
                                }//end while
                                ?>
                        </select></td>
                </tr>
                <tr>
                        <td>&nbsp;</td>


                        <td>
                        <input type="submit" name="tambah" value="Tambah"
/>
                        <input type="reset" name="resetbtn" value="Reset"
/>
                        </td>


                                          33
Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id)


                   </tr>
                   <tr>
                           <td colspan='2'><div id="form1_errorloc"
style="color:red"></div></td>
                   </tr>
             </table></td>
     </form>
     <script language="javaScript" type="text/javascript"
     xml:space="preserve">
             //You should create the validator only after the definition
of the HTML form
             var frmvalidator = new Validator("form1");
             frmvalidator.EnableOnPageErrorDisplaySingleBox();
             frmvalidator.EnableMsgsTogether();


             frmvalidator.addValidation("kd_pemesan", "req", "kode
pemesan masih kosong ");
             frmvalidator.addValidation("Nama", "req", "nama            masih
kosong ");
             frmvalidator.addValidation("Alamat", "req", "alamat masih
kosong ");
             frmvalidator.addValidation("kd_pos", "req", "kode pos masih
kosong ");
             frmvalidator.addValidation("No_telp", "req", "no. telp
masih kosong");
             frmvalidator.addValidation("email", "req", "email masih
kosong");
             frmvalidator.addValidation("kd_pemesan", "alnum_s ", "kode
pemesan tidak boleh ada spasi ");
             frmvalidator.addValidation("Alamat", "minlen=10", "alamat
kurang lengkap ");
             frmvalidator.addValidation("kd_pos", "num", "input harus
angka ");
             frmvalidator.addValidation("No_telp", "num", "input harus


                                        34
Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id)


angka ");
            frmvalidator.addValidation("email", "maxlen=50", "maksimal
panjang email 50 karakter");


     </script>
     <?
}
     ?>
</div>




                                       35
Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id)




Tampilan chart




                          Gambar 9 Tampilan keranjang dan form pengiriman barang




Membuat Laporan Penjualan
Berikut ini adalah contoh membuat laporan table produk barang. Laporan sebenarnya sama dengan
halaman administrasi data, perbedaannya di laporan tidak ada menu dan tampilan yang tidak perlu




                                                   36
Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id)


Code 2.3 Laporan daftar buku

<html>
       <head>
               <link rel="stylesheet" type="text/css" media="screen"
href="style2.css" />
       </head>
       <body>
               <h2 align="center"> Laporan Daftar Buku </h2>
               <h1 align="center"> Toko Buku murah </h1>
               <p align="center">
                       jl Lurus no 5 Yogyakarta
               </p>
               <hr>
               <br/>
               <?php?>
               <table align='center'>
                       <tr style="background-color:#F79307">
                               <td>No</td><td>Kd
buku</td><td>Judul</td><td>Pengarang</td>
                               <td>Harga</td>
                       </tr>
                       <?php
include ('inc/config.php');
$sql="SELECT * FROM            buku";
$result=mysql_query($sql) or die(mysql_error());
//proses menampilkan data
$no=1;
while($rows=mysql_fetch_array($result)){
                       ?>
                       <tr> <td><?=$no;?></td>
                               <td><?              echo $rows['kd_buku'];?></td>
                               <td><?              echo $rows['judul'];?></td>
                               <td><?              echo $rows['pengarang'];?></td>
                               <td><?              echo $rows['harga'];?></td>

                                              37
Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id)


                </tr>
                <?
                $no++;
                        }
                ?>
          </table>
          <?mysql_close();
?>
     </body>
</html>




Tampilan laporan buku




                             Gambar 10 laporan daftar Buku




                                          38
Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id)


Program eCommerce diatas masih perlu di kembangkan. Beberapa ide untukmengembangkan adalah
sbb:

   1. Adanya pendaftaran user
   2. Adanya stok barang
   3. Pencarian catalog produk
   4. Mengembangkan kea rah mobile commerce dengan jQuery Mobile




Demikian, semoga bermanfaat!




                                             39

More Related Content

What's hot

Makalah Menginstal Windows 10 Pro
Makalah Menginstal Windows 10 ProMakalah Menginstal Windows 10 Pro
Makalah Menginstal Windows 10 ProLukman Al-Farisy
 
MySQL Replication Performance Tuning for Fun and Profit!
MySQL Replication Performance Tuning for Fun and Profit!MySQL Replication Performance Tuning for Fun and Profit!
MySQL Replication Performance Tuning for Fun and Profit!Vitor Oliveira
 
Laporan PKL / Prakerin SMK Nasional Depok
Laporan PKL / Prakerin SMK Nasional DepokLaporan PKL / Prakerin SMK Nasional Depok
Laporan PKL / Prakerin SMK Nasional DepokNaufal Khawarozni
 
Laporan psg patrick xi tkj 3
Laporan psg patrick xi tkj 3Laporan psg patrick xi tkj 3
Laporan psg patrick xi tkj 3Patrick Haumptman
 
Laporan Prakerin Teknik komputer & jaringan
Laporan Prakerin Teknik komputer & jaringanLaporan Prakerin Teknik komputer & jaringan
Laporan Prakerin Teknik komputer & jaringanGuntex
 
01. draf peraturan perusahaan
01. draf peraturan perusahaan01. draf peraturan perusahaan
01. draf peraturan perusahaanlegalakses636
 
4071010 surat-perjanjian-kerja
4071010 surat-perjanjian-kerja4071010 surat-perjanjian-kerja
4071010 surat-perjanjian-kerjaAlexander Nikolas
 
[db tech showcase Tokyo 2018] #dbts2018 #D34 『サポートのトップエンジニアが語る - ワンランク上のStats...
[db tech showcase Tokyo 2018] #dbts2018 #D34 『サポートのトップエンジニアが語る - ワンランク上のStats...[db tech showcase Tokyo 2018] #dbts2018 #D34 『サポートのトップエンジニアが語る - ワンランク上のStats...
[db tech showcase Tokyo 2018] #dbts2018 #D34 『サポートのトップエンジニアが語る - ワンランク上のStats...Insight Technology, Inc.
 
RDBMSより高速なNoSQLを実際に使ってみた話
RDBMSより高速なNoSQLを実際に使ってみた話RDBMSより高速なNoSQLを実際に使ってみた話
RDBMSより高速なNoSQLを実際に使ってみた話犬 クジラ
 
Condition of service for senior staff 2011 (1)
Condition of service for senior staff 2011 (1)Condition of service for senior staff 2011 (1)
Condition of service for senior staff 2011 (1)Dorkodi
 
Laporan prakerin asli
Laporan prakerin asliLaporan prakerin asli
Laporan prakerin asliUli Syarief
 
Laporan praktek kerja industri (prakerin) smk al baisuny 2014-2015 (ahmad fa...
Laporan praktek kerja industri (prakerin) smk al baisuny 2014-2015  (ahmad fa...Laporan praktek kerja industri (prakerin) smk al baisuny 2014-2015  (ahmad fa...
Laporan praktek kerja industri (prakerin) smk al baisuny 2014-2015 (ahmad fa...Ahmad Sayadi
 
Proposal IbK Hery Budiyanto Universitas Merdeka Malang
Proposal IbK Hery Budiyanto Universitas Merdeka MalangProposal IbK Hery Budiyanto Universitas Merdeka Malang
Proposal IbK Hery Budiyanto Universitas Merdeka MalangHery budiyanto
 
Instalacao-eletrica-do-CFW-500.pptx
Instalacao-eletrica-do-CFW-500.pptxInstalacao-eletrica-do-CFW-500.pptx
Instalacao-eletrica-do-CFW-500.pptxSamuelRamos86548
 
Panduan teknis akreditasi 2013
Panduan teknis akreditasi 2013Panduan teknis akreditasi 2013
Panduan teknis akreditasi 2013Dewi Kartika
 
Draft perjanjian sewa menyewa_ (Beli Perjanjian, Hub: 08118887270 (WA))
Draft perjanjian sewa menyewa_ (Beli Perjanjian, Hub: 08118887270 (WA))Draft perjanjian sewa menyewa_ (Beli Perjanjian, Hub: 08118887270 (WA))
Draft perjanjian sewa menyewa_ (Beli Perjanjian, Hub: 08118887270 (WA))GLC
 
Windows deployment on bare metal using ironic
Windows deployment on bare metal using ironicWindows deployment on bare metal using ironic
Windows deployment on bare metal using ironicSrinivasa Acharya
 

What's hot (20)

Makalah Menginstal Windows 10 Pro
Makalah Menginstal Windows 10 ProMakalah Menginstal Windows 10 Pro
Makalah Menginstal Windows 10 Pro
 
MySQL Replication Performance Tuning for Fun and Profit!
MySQL Replication Performance Tuning for Fun and Profit!MySQL Replication Performance Tuning for Fun and Profit!
MySQL Replication Performance Tuning for Fun and Profit!
 
Laporan PKL / Prakerin SMK Nasional Depok
Laporan PKL / Prakerin SMK Nasional DepokLaporan PKL / Prakerin SMK Nasional Depok
Laporan PKL / Prakerin SMK Nasional Depok
 
Laporan psg patrick xi tkj 3
Laporan psg patrick xi tkj 3Laporan psg patrick xi tkj 3
Laporan psg patrick xi tkj 3
 
Laporan Prakerin Teknik komputer & jaringan
Laporan Prakerin Teknik komputer & jaringanLaporan Prakerin Teknik komputer & jaringan
Laporan Prakerin Teknik komputer & jaringan
 
01. draf peraturan perusahaan
01. draf peraturan perusahaan01. draf peraturan perusahaan
01. draf peraturan perusahaan
 
Surat perjanjian kerja pegawai kontrak
Surat perjanjian kerja pegawai kontrakSurat perjanjian kerja pegawai kontrak
Surat perjanjian kerja pegawai kontrak
 
4071010 surat-perjanjian-kerja
4071010 surat-perjanjian-kerja4071010 surat-perjanjian-kerja
4071010 surat-perjanjian-kerja
 
[db tech showcase Tokyo 2018] #dbts2018 #D34 『サポートのトップエンジニアが語る - ワンランク上のStats...
[db tech showcase Tokyo 2018] #dbts2018 #D34 『サポートのトップエンジニアが語る - ワンランク上のStats...[db tech showcase Tokyo 2018] #dbts2018 #D34 『サポートのトップエンジニアが語る - ワンランク上のStats...
[db tech showcase Tokyo 2018] #dbts2018 #D34 『サポートのトップエンジニアが語る - ワンランク上のStats...
 
RDBMSより高速なNoSQLを実際に使ってみた話
RDBMSより高速なNoSQLを実際に使ってみた話RDBMSより高速なNoSQLを実際に使ってみた話
RDBMSより高速なNoSQLを実際に使ってみた話
 
Condition of service for senior staff 2011 (1)
Condition of service for senior staff 2011 (1)Condition of service for senior staff 2011 (1)
Condition of service for senior staff 2011 (1)
 
Laporan prakerin asli
Laporan prakerin asliLaporan prakerin asli
Laporan prakerin asli
 
Pt krakatau steel
Pt krakatau steelPt krakatau steel
Pt krakatau steel
 
Laporan praktek kerja industri (prakerin) smk al baisuny 2014-2015 (ahmad fa...
Laporan praktek kerja industri (prakerin) smk al baisuny 2014-2015  (ahmad fa...Laporan praktek kerja industri (prakerin) smk al baisuny 2014-2015  (ahmad fa...
Laporan praktek kerja industri (prakerin) smk al baisuny 2014-2015 (ahmad fa...
 
Proposal IbK Hery Budiyanto Universitas Merdeka Malang
Proposal IbK Hery Budiyanto Universitas Merdeka MalangProposal IbK Hery Budiyanto Universitas Merdeka Malang
Proposal IbK Hery Budiyanto Universitas Merdeka Malang
 
Instalacao-eletrica-do-CFW-500.pptx
Instalacao-eletrica-do-CFW-500.pptxInstalacao-eletrica-do-CFW-500.pptx
Instalacao-eletrica-do-CFW-500.pptx
 
Panduan teknis akreditasi 2013
Panduan teknis akreditasi 2013Panduan teknis akreditasi 2013
Panduan teknis akreditasi 2013
 
CONTOH PERATURAN PERUSAHAAN BERDASARKAN UU KETENAGAKERJAAN
CONTOH PERATURAN PERUSAHAAN BERDASARKAN UU KETENAGAKERJAANCONTOH PERATURAN PERUSAHAAN BERDASARKAN UU KETENAGAKERJAAN
CONTOH PERATURAN PERUSAHAAN BERDASARKAN UU KETENAGAKERJAAN
 
Draft perjanjian sewa menyewa_ (Beli Perjanjian, Hub: 08118887270 (WA))
Draft perjanjian sewa menyewa_ (Beli Perjanjian, Hub: 08118887270 (WA))Draft perjanjian sewa menyewa_ (Beli Perjanjian, Hub: 08118887270 (WA))
Draft perjanjian sewa menyewa_ (Beli Perjanjian, Hub: 08118887270 (WA))
 
Windows deployment on bare metal using ironic
Windows deployment on bare metal using ironicWindows deployment on bare metal using ironic
Windows deployment on bare metal using ironic
 

Similar to E commerce dengan php mysql.docx

E commerce dengan php mysql
E commerce dengan php mysqlE commerce dengan php mysql
E commerce dengan php mysqlAlvin Setiawan
 
Modul Web Programming - Framework CodeIgniter
Modul Web Programming - Framework CodeIgniterModul Web Programming - Framework CodeIgniter
Modul Web Programming - Framework CodeIgniterIsmoyoDjayusman
 
Laporan akhir
Laporan akhirLaporan akhir
Laporan akhiryudhigcgc
 
Panduan Dasar Web Matrix
Panduan Dasar Web MatrixPanduan Dasar Web Matrix
Panduan Dasar Web MatrixMas Tri Sragen
 
Modul as pdot-net-2015
Modul as pdot-net-2015Modul as pdot-net-2015
Modul as pdot-net-2015Muhammad Yunus
 
Jamal aplikasicrud
Jamal aplikasicrudJamal aplikasicrud
Jamal aplikasicrudmales Aja
 
M ismar jumaedi#21060116060034
M ismar jumaedi#21060116060034M ismar jumaedi#21060116060034
M ismar jumaedi#21060116060034AHMATT SFDN
 
Membangun Aplikasi SMS dengan Gammu dan PHP Framework CodeIgniter
Membangun Aplikasi SMS dengan Gammu dan PHP Framework CodeIgniterMembangun Aplikasi SMS dengan Gammu dan PHP Framework CodeIgniter
Membangun Aplikasi SMS dengan Gammu dan PHP Framework CodeIgniterBeni Krisbiantoro
 
Membuat Multiaplikasi menggunakan VB6
Membuat Multiaplikasi menggunakan VB6Membuat Multiaplikasi menggunakan VB6
Membuat Multiaplikasi menggunakan VB6Nurdin Al-Azies
 
Tugas laporan proyek aplikasi
Tugas laporan proyek aplikasiTugas laporan proyek aplikasi
Tugas laporan proyek aplikasiizzatyreno
 
Design dan Pemrograman Web
Design dan Pemrograman WebDesign dan Pemrograman Web
Design dan Pemrograman Weboldias
 
Tugas 3 – 0317 (individu)
Tugas 3 – 0317 (individu)Tugas 3 – 0317 (individu)
Tugas 3 – 0317 (individu)Linda Lestari
 
Memahami Alur Kerja Pembuatan Website - Sitemaya Webinar - Day 1.pdf
Memahami Alur Kerja Pembuatan Website - Sitemaya Webinar - Day 1.pdfMemahami Alur Kerja Pembuatan Website - Sitemaya Webinar - Day 1.pdf
Memahami Alur Kerja Pembuatan Website - Sitemaya Webinar - Day 1.pdfBeon Intermedia
 
Aplikasi warehouse management system (1)
Aplikasi warehouse management system (1)Aplikasi warehouse management system (1)
Aplikasi warehouse management system (1)Imam Turmudi
 
Tutorial ci
Tutorial ciTutorial ci
Tutorial ciWira Hul
 
Tugas makalah 4 ka34 pemograman generasi ke 4
Tugas makalah 4 ka34 pemograman generasi ke 4Tugas makalah 4 ka34 pemograman generasi ke 4
Tugas makalah 4 ka34 pemograman generasi ke 4Maulana Rocky
 

Similar to E commerce dengan php mysql.docx (20)

E commerce dengan php mysql
E commerce dengan php mysqlE commerce dengan php mysql
E commerce dengan php mysql
 
Modul Web Programming - Framework CodeIgniter
Modul Web Programming - Framework CodeIgniterModul Web Programming - Framework CodeIgniter
Modul Web Programming - Framework CodeIgniter
 
Laporan akhir
Laporan akhirLaporan akhir
Laporan akhir
 
Module desain web
Module desain webModule desain web
Module desain web
 
Laporan akhir
Laporan akhirLaporan akhir
Laporan akhir
 
Panduan Dasar Web Matrix
Panduan Dasar Web MatrixPanduan Dasar Web Matrix
Panduan Dasar Web Matrix
 
Modul as pdot-net-2015
Modul as pdot-net-2015Modul as pdot-net-2015
Modul as pdot-net-2015
 
makalahh
makalahhmakalahh
makalahh
 
Tutorial ci
Tutorial ciTutorial ci
Tutorial ci
 
Jamal aplikasicrud
Jamal aplikasicrudJamal aplikasicrud
Jamal aplikasicrud
 
M ismar jumaedi#21060116060034
M ismar jumaedi#21060116060034M ismar jumaedi#21060116060034
M ismar jumaedi#21060116060034
 
Membangun Aplikasi SMS dengan Gammu dan PHP Framework CodeIgniter
Membangun Aplikasi SMS dengan Gammu dan PHP Framework CodeIgniterMembangun Aplikasi SMS dengan Gammu dan PHP Framework CodeIgniter
Membangun Aplikasi SMS dengan Gammu dan PHP Framework CodeIgniter
 
Membuat Multiaplikasi menggunakan VB6
Membuat Multiaplikasi menggunakan VB6Membuat Multiaplikasi menggunakan VB6
Membuat Multiaplikasi menggunakan VB6
 
Tugas laporan proyek aplikasi
Tugas laporan proyek aplikasiTugas laporan proyek aplikasi
Tugas laporan proyek aplikasi
 
Design dan Pemrograman Web
Design dan Pemrograman WebDesign dan Pemrograman Web
Design dan Pemrograman Web
 
Tugas 3 – 0317 (individu)
Tugas 3 – 0317 (individu)Tugas 3 – 0317 (individu)
Tugas 3 – 0317 (individu)
 
Memahami Alur Kerja Pembuatan Website - Sitemaya Webinar - Day 1.pdf
Memahami Alur Kerja Pembuatan Website - Sitemaya Webinar - Day 1.pdfMemahami Alur Kerja Pembuatan Website - Sitemaya Webinar - Day 1.pdf
Memahami Alur Kerja Pembuatan Website - Sitemaya Webinar - Day 1.pdf
 
Aplikasi warehouse management system (1)
Aplikasi warehouse management system (1)Aplikasi warehouse management system (1)
Aplikasi warehouse management system (1)
 
Tutorial ci
Tutorial ciTutorial ci
Tutorial ci
 
Tugas makalah 4 ka34 pemograman generasi ke 4
Tugas makalah 4 ka34 pemograman generasi ke 4Tugas makalah 4 ka34 pemograman generasi ke 4
Tugas makalah 4 ka34 pemograman generasi ke 4
 

More from Candra Adi Putra

More from Candra Adi Putra (20)

Puasa dan pemanfaatan media sosial
Puasa dan pemanfaatan media sosialPuasa dan pemanfaatan media sosial
Puasa dan pemanfaatan media sosial
 
Seting IP Manual in Windows, Mac OS X, Linux and Android
Seting IP Manual in Windows, Mac OS X, Linux and AndroidSeting IP Manual in Windows, Mac OS X, Linux and Android
Seting IP Manual in Windows, Mac OS X, Linux and Android
 
Mengenal Peralatan Jaringan
Mengenal Peralatan JaringanMengenal Peralatan Jaringan
Mengenal Peralatan Jaringan
 
Candra lab gis v 1
Candra lab gis v 1Candra lab gis v 1
Candra lab gis v 1
 
Layanan pelengkap twitter
Layanan pelengkap twitterLayanan pelengkap twitter
Layanan pelengkap twitter
 
Responsive web design
Responsive web designResponsive web design
Responsive web design
 
Budaya internet emoticon
Budaya internet emoticonBudaya internet emoticon
Budaya internet emoticon
 
Budaya internet flamewar
Budaya internet flamewarBudaya internet flamewar
Budaya internet flamewar
 
Budaya internet meme
Budaya internet memeBudaya internet meme
Budaya internet meme
 
Budaya internet troll
Budaya internet trollBudaya internet troll
Budaya internet troll
 
Modul v pengenalan mikrotik
Modul  v pengenalan mikrotikModul  v pengenalan mikrotik
Modul v pengenalan mikrotik
 
ReactOS desktop
ReactOS desktopReactOS desktop
ReactOS desktop
 
Bab iv billing
Bab iv billingBab iv billing
Bab iv billing
 
Bab iii filesharing
Bab iii  filesharingBab iii  filesharing
Bab iii filesharing
 
Bab ii seting ip dan dhcp server
Bab ii seting ip dan dhcp serverBab ii seting ip dan dhcp server
Bab ii seting ip dan dhcp server
 
Bab i dasar dasar jaringan
Bab i  dasar dasar jaringanBab i  dasar dasar jaringan
Bab i dasar dasar jaringan
 
Anatomi hasil pencarian Google
Anatomi hasil pencarian GoogleAnatomi hasil pencarian Google
Anatomi hasil pencarian Google
 
Best web app
Best web appBest web app
Best web app
 
Php modul1 dasar dasar php
Php modul1  dasar dasar phpPhp modul1  dasar dasar php
Php modul1 dasar dasar php
 
Ebook tutorial pemrograman android
Ebook tutorial pemrograman android Ebook tutorial pemrograman android
Ebook tutorial pemrograman android
 

Recently uploaded

Aksi Nyata Menyebarkan (Pemahaman Mengapa Kurikulum Perlu Berubah) Oleh Nur A...
Aksi Nyata Menyebarkan (Pemahaman Mengapa Kurikulum Perlu Berubah) Oleh Nur A...Aksi Nyata Menyebarkan (Pemahaman Mengapa Kurikulum Perlu Berubah) Oleh Nur A...
Aksi Nyata Menyebarkan (Pemahaman Mengapa Kurikulum Perlu Berubah) Oleh Nur A...nuraji51
 
Program Kerja Public Relations - Perencanaan
Program Kerja Public Relations - PerencanaanProgram Kerja Public Relations - Perencanaan
Program Kerja Public Relations - PerencanaanAdePutraTunggali
 
RENCANA & Link2 Materi Pelatihan_ "Teknik Perhitungan TKDN, BMP, Preferensi H...
RENCANA & Link2 Materi Pelatihan_ "Teknik Perhitungan TKDN, BMP, Preferensi H...RENCANA & Link2 Materi Pelatihan_ "Teknik Perhitungan TKDN, BMP, Preferensi H...
RENCANA & Link2 Materi Pelatihan_ "Teknik Perhitungan TKDN, BMP, Preferensi H...Kanaidi ken
 
Kenakalan Remaja (Penggunaan Narkoba).ppt
Kenakalan Remaja (Penggunaan Narkoba).pptKenakalan Remaja (Penggunaan Narkoba).ppt
Kenakalan Remaja (Penggunaan Narkoba).pptnovibernadina
 
TUGAS RUANG KOLABORASI 1.3 PRAKARSA PERUBAHAN
TUGAS RUANG KOLABORASI 1.3 PRAKARSA PERUBAHANTUGAS RUANG KOLABORASI 1.3 PRAKARSA PERUBAHAN
TUGAS RUANG KOLABORASI 1.3 PRAKARSA PERUBAHANwawan479953
 
MODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdfMODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdfAndiCoc
 
MODUL AJAR BAHASA INDONESIA KELAS 5 KURIKULUM MERDEKA.pdf
MODUL AJAR BAHASA INDONESIA KELAS 5 KURIKULUM MERDEKA.pdfMODUL AJAR BAHASA INDONESIA KELAS 5 KURIKULUM MERDEKA.pdf
MODUL AJAR BAHASA INDONESIA KELAS 5 KURIKULUM MERDEKA.pdfAndiCoc
 
OPTIMALISASI KOMUNITAS BELAJAR DI SEKOLAH.pptx
OPTIMALISASI KOMUNITAS BELAJAR DI SEKOLAH.pptxOPTIMALISASI KOMUNITAS BELAJAR DI SEKOLAH.pptx
OPTIMALISASI KOMUNITAS BELAJAR DI SEKOLAH.pptxDedeRosza
 
Pengenalan Figma, Figma Indtroduction, Figma
Pengenalan Figma, Figma Indtroduction, FigmaPengenalan Figma, Figma Indtroduction, Figma
Pengenalan Figma, Figma Indtroduction, FigmaAndreRangga1
 
HAK DAN KEWAJIBAN WARGA NEGARA ppkn i.ppt
HAK DAN KEWAJIBAN WARGA NEGARA ppkn i.pptHAK DAN KEWAJIBAN WARGA NEGARA ppkn i.ppt
HAK DAN KEWAJIBAN WARGA NEGARA ppkn i.pptnabilafarahdiba95
 
.....................Swamedikasi 2-2.pptx
.....................Swamedikasi 2-2.pptx.....................Swamedikasi 2-2.pptx
.....................Swamedikasi 2-2.pptxfurqanridha
 
MODUL AJAR MATEMATIKA KELAS 3 KURIKULUM MERDEKA.pdf
MODUL AJAR MATEMATIKA KELAS 3 KURIKULUM MERDEKA.pdfMODUL AJAR MATEMATIKA KELAS 3 KURIKULUM MERDEKA.pdf
MODUL AJAR MATEMATIKA KELAS 3 KURIKULUM MERDEKA.pdfAndiCoc
 
Konseptual Model Keperawatan Jiwa pada manusia
Konseptual Model Keperawatan Jiwa pada manusiaKonseptual Model Keperawatan Jiwa pada manusia
Konseptual Model Keperawatan Jiwa pada manusiaharnosuharno5
 
Aksi Nyata PMM Topik Refleksi Diri (1).pdf
Aksi Nyata PMM Topik Refleksi Diri (1).pdfAksi Nyata PMM Topik Refleksi Diri (1).pdf
Aksi Nyata PMM Topik Refleksi Diri (1).pdfEniNuraeni29
 
Memperkasakan Dialog Prestasi Sekolah.pptx
Memperkasakan Dialog Prestasi Sekolah.pptxMemperkasakan Dialog Prestasi Sekolah.pptx
Memperkasakan Dialog Prestasi Sekolah.pptxsalmnor
 
MODUL AJAR IPAS KELAS 3 KURIKULUM MERDEKA.pdf
MODUL AJAR IPAS KELAS 3 KURIKULUM MERDEKA.pdfMODUL AJAR IPAS KELAS 3 KURIKULUM MERDEKA.pdf
MODUL AJAR IPAS KELAS 3 KURIKULUM MERDEKA.pdfAndiCoc
 
Penyuluhan DM Tipe II Kegiatan Prolanis.ppt
Penyuluhan DM Tipe II Kegiatan Prolanis.pptPenyuluhan DM Tipe II Kegiatan Prolanis.ppt
Penyuluhan DM Tipe II Kegiatan Prolanis.pptpalagoro17
 
Aksi Nyata Disiplin Positif Keyakinan Kelas untuk SMK
Aksi Nyata Disiplin Positif Keyakinan Kelas untuk SMKAksi Nyata Disiplin Positif Keyakinan Kelas untuk SMK
Aksi Nyata Disiplin Positif Keyakinan Kelas untuk SMKgamelamalaal
 
Kisi kisi Ujian sekolah mata pelajaran IPA 2024.docx
Kisi kisi Ujian sekolah mata pelajaran IPA 2024.docxKisi kisi Ujian sekolah mata pelajaran IPA 2024.docx
Kisi kisi Ujian sekolah mata pelajaran IPA 2024.docxFitriaSarmida1
 
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA.pdfMODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA.pdfAndiCoc
 

Recently uploaded (20)

Aksi Nyata Menyebarkan (Pemahaman Mengapa Kurikulum Perlu Berubah) Oleh Nur A...
Aksi Nyata Menyebarkan (Pemahaman Mengapa Kurikulum Perlu Berubah) Oleh Nur A...Aksi Nyata Menyebarkan (Pemahaman Mengapa Kurikulum Perlu Berubah) Oleh Nur A...
Aksi Nyata Menyebarkan (Pemahaman Mengapa Kurikulum Perlu Berubah) Oleh Nur A...
 
Program Kerja Public Relations - Perencanaan
Program Kerja Public Relations - PerencanaanProgram Kerja Public Relations - Perencanaan
Program Kerja Public Relations - Perencanaan
 
RENCANA & Link2 Materi Pelatihan_ "Teknik Perhitungan TKDN, BMP, Preferensi H...
RENCANA & Link2 Materi Pelatihan_ "Teknik Perhitungan TKDN, BMP, Preferensi H...RENCANA & Link2 Materi Pelatihan_ "Teknik Perhitungan TKDN, BMP, Preferensi H...
RENCANA & Link2 Materi Pelatihan_ "Teknik Perhitungan TKDN, BMP, Preferensi H...
 
Kenakalan Remaja (Penggunaan Narkoba).ppt
Kenakalan Remaja (Penggunaan Narkoba).pptKenakalan Remaja (Penggunaan Narkoba).ppt
Kenakalan Remaja (Penggunaan Narkoba).ppt
 
TUGAS RUANG KOLABORASI 1.3 PRAKARSA PERUBAHAN
TUGAS RUANG KOLABORASI 1.3 PRAKARSA PERUBAHANTUGAS RUANG KOLABORASI 1.3 PRAKARSA PERUBAHAN
TUGAS RUANG KOLABORASI 1.3 PRAKARSA PERUBAHAN
 
MODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdfMODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdf
 
MODUL AJAR BAHASA INDONESIA KELAS 5 KURIKULUM MERDEKA.pdf
MODUL AJAR BAHASA INDONESIA KELAS 5 KURIKULUM MERDEKA.pdfMODUL AJAR BAHASA INDONESIA KELAS 5 KURIKULUM MERDEKA.pdf
MODUL AJAR BAHASA INDONESIA KELAS 5 KURIKULUM MERDEKA.pdf
 
OPTIMALISASI KOMUNITAS BELAJAR DI SEKOLAH.pptx
OPTIMALISASI KOMUNITAS BELAJAR DI SEKOLAH.pptxOPTIMALISASI KOMUNITAS BELAJAR DI SEKOLAH.pptx
OPTIMALISASI KOMUNITAS BELAJAR DI SEKOLAH.pptx
 
Pengenalan Figma, Figma Indtroduction, Figma
Pengenalan Figma, Figma Indtroduction, FigmaPengenalan Figma, Figma Indtroduction, Figma
Pengenalan Figma, Figma Indtroduction, Figma
 
HAK DAN KEWAJIBAN WARGA NEGARA ppkn i.ppt
HAK DAN KEWAJIBAN WARGA NEGARA ppkn i.pptHAK DAN KEWAJIBAN WARGA NEGARA ppkn i.ppt
HAK DAN KEWAJIBAN WARGA NEGARA ppkn i.ppt
 
.....................Swamedikasi 2-2.pptx
.....................Swamedikasi 2-2.pptx.....................Swamedikasi 2-2.pptx
.....................Swamedikasi 2-2.pptx
 
MODUL AJAR MATEMATIKA KELAS 3 KURIKULUM MERDEKA.pdf
MODUL AJAR MATEMATIKA KELAS 3 KURIKULUM MERDEKA.pdfMODUL AJAR MATEMATIKA KELAS 3 KURIKULUM MERDEKA.pdf
MODUL AJAR MATEMATIKA KELAS 3 KURIKULUM MERDEKA.pdf
 
Konseptual Model Keperawatan Jiwa pada manusia
Konseptual Model Keperawatan Jiwa pada manusiaKonseptual Model Keperawatan Jiwa pada manusia
Konseptual Model Keperawatan Jiwa pada manusia
 
Aksi Nyata PMM Topik Refleksi Diri (1).pdf
Aksi Nyata PMM Topik Refleksi Diri (1).pdfAksi Nyata PMM Topik Refleksi Diri (1).pdf
Aksi Nyata PMM Topik Refleksi Diri (1).pdf
 
Memperkasakan Dialog Prestasi Sekolah.pptx
Memperkasakan Dialog Prestasi Sekolah.pptxMemperkasakan Dialog Prestasi Sekolah.pptx
Memperkasakan Dialog Prestasi Sekolah.pptx
 
MODUL AJAR IPAS KELAS 3 KURIKULUM MERDEKA.pdf
MODUL AJAR IPAS KELAS 3 KURIKULUM MERDEKA.pdfMODUL AJAR IPAS KELAS 3 KURIKULUM MERDEKA.pdf
MODUL AJAR IPAS KELAS 3 KURIKULUM MERDEKA.pdf
 
Penyuluhan DM Tipe II Kegiatan Prolanis.ppt
Penyuluhan DM Tipe II Kegiatan Prolanis.pptPenyuluhan DM Tipe II Kegiatan Prolanis.ppt
Penyuluhan DM Tipe II Kegiatan Prolanis.ppt
 
Aksi Nyata Disiplin Positif Keyakinan Kelas untuk SMK
Aksi Nyata Disiplin Positif Keyakinan Kelas untuk SMKAksi Nyata Disiplin Positif Keyakinan Kelas untuk SMK
Aksi Nyata Disiplin Positif Keyakinan Kelas untuk SMK
 
Kisi kisi Ujian sekolah mata pelajaran IPA 2024.docx
Kisi kisi Ujian sekolah mata pelajaran IPA 2024.docxKisi kisi Ujian sekolah mata pelajaran IPA 2024.docx
Kisi kisi Ujian sekolah mata pelajaran IPA 2024.docx
 
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA.pdfMODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA.pdf
 

E commerce dengan php mysql.docx

  • 1. CandraLab Coding Studio http://www.candra.web.id eCommerce dengan PHP MySQL Candra Adi Putra (candraadiputra@gmail.com) 12
  • 2. Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id) 2
  • 3. Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id) Table of Contents BAB I INSTALASI DAN DASAR PHP ................................................................................................................ 5 Konsep Apache, PHP, Mysql .................................................................................................................... 5 Tool Yang Dipakai ...................................................................................................................................... 5 Appserver .................................................................................................................................................. 5 Notepad++ ............................................................................................................................................ 5 Aptana IDE............................................................................................................................................. 6 Google Chrome ..................................................................................................................................... 6 MySQL Workbench ............................................................................................................................... 6 Memahami Konfigurasi PHP ..................................................................................................................... 7 Membuat Kerangka dasar website ........................................................................................................... 7 Konsep GET Dan POST........................................................................................................................... 7 Teknik Include Page .............................................................................................................................. 7 BAB II Perancangan Database, Login Dan Validasi Form ........................................................................... 10 Perancangan Database ........................................................................................................................... 10 Login ........................................................................................................................................................ 11 Tabel pengelola ................................................................................................................................... 11 Form Login .......................................................................................................................................... 11 Cek Login dan redirect ........................................................................................................................ 12 Form Validasi............................................................................................................................................... 13 Mengenal Library Validasi Javascript .................................................................................................. 13 Teknik Validasi Berbagai Macam Input ............................................................................................... 14 BAB III CRUD ................................................................................................................................................ 17 Insert Data............................................................................................................................................... 17 Tampil Data ............................................................................................................................................. 19 Update Data ............................................................................................................................................ 22 3
  • 4. Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id) Delete Data ............................................................................................................................................. 24 BAB IV Membuat Katalog Produk ............................................................................................................... 25 Menu Kategori Produk Dinamis .............................................................................................................. 25 Daftar Produk Dinamis ........................................................................................................................... 26 BAB V Transaksi Dan Laporan ..................................................................................................................... 29 Membuat Cart Belanja ............................................................................................................................ 29 Tampilan chart ........................................................................................................................................ 36 Membuat Laporan Penjualan ................................................................................................................. 36 Tampilan laporan buku ........................................................................................................................... 38 4
  • 5. Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id) BAB I INSTALASI DAN DASAR PHP Konsep Apache, PHP, MySQL Apache adalah webserver yang bertugas untuk memberikan halaman website yang diminta oleh Browser PHP adalah bahasa pemrograman web untuk membuat website yang dinamis MySQL adalah database server yang dipakai untuk menyimpan data termasuk data admin, data barang data transaksi dan sebagainya Tool Yang Dipakai Appserver Appserver adalah bundle software yang terdiri dari beberapa komponen, diantaranya adalah MySQL, PHP, Apache dan PHPMyAdmin. Dengan menggunakan Appserv kita tidak perlu menginstall program satu persatu. Dari semua program diatas, program yang paling Nampak adalah PHPMyAdmin. Aplikasi ini adalah tool berbasis web untuk mengolah data MySQL. Anda bisa mendapatkannya di http://www.appservnetwork.com/ Notepad++ Notepad++ adalah standar programmer editor. Sebenarnya selain notepad++, juga masih banyak editor yang lain. Anda boleh saja menggunakan sembarang editor, namun disarankan editor yang dipakai adalah editor yang mempunyai 3 fitur utama yaitu Syntax Higlighting, Code folding dan Line numbering. Notepad++ dipakai untuk editing file secara cepat (misal Bugfix) atau mengedit satu dua baris yang error. 5
  • 6. Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id) Aptana IDE Aptana IDE adalah IDE untuk membuat program berbasis Web. anda boleh saja memakai DreamWeaver , namun saya sendiri memilih Aptana IDE mengingat IDE ini besifat open source, mampu bejalan di banyak Platform (Windows, Linux, Mac) dan GRATIS. Namun hal yang paling penting dengan adanya ide adalah adanya project manajement. Figure 1 Logo Aptana IDE Kelebihan utama dari Aptana di banding dreamweaver atau editor notepad++ adalah kemampuannya untuk memformat code sekaligus mengecek kesalahan syntax langsung di editor. Google Chrome Google chrome di pakai untuk mentesting website. Boleh saja menggunakan browser lain, justru yang disarankan, kita mencoba di setiap browser untuk memastikan tampilan dan aplikasi yang kita buat berjalan dengan benar. Namun Google Chrome mempunyai kelebihan karena sederhana dan adanya fitur Developer tool yang canggih( penjelasan lebih lanjut di praktik). MySQL Workbench Hal yang paling penting saat mendesain database adalah membuat relasi antar table. Anda bisa saja membuat menggunakan tool perancangan biasa. MySQL workbench lebih dari itu, dia bisa membuat table beserta relasinya dan secara “Automagic” dia akan 6
  • 7. Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id) membuat SQL scripnya. MySQL workbench juga bisa membuat diagram relasi table langsung dari MySQL script (reverse engine) . Memahami Konfigurasi PHP Sebelum anda membaut program menggunakan PHP, anda harus faham dua hal yang paling utama, dua hal tersebut adalah short_open_tag dan error_reporting. Dua hal ini dibahas di kelas. Membuat Kerangka dasar website Konsep GET Dan POST GET dan POST adalah dua teknik mengirim data ke server ,namun apa sih perbedaannya? Buatlah program sederhana seperti dibawah ini untuk mengetahui. Code 1.1 konverter.php <form action="konverter.php" > <input type="text" name="dollar"> <input type="submit" value="konversi"> </form> <?php $dollar=$_GET['dollar']; $rupiah=$dollar* 8500; echo $dollar." US dollar =".$rupiah; ?> Sekarang ubahlah get menjadi POST! Teknik Include Page Untuk membuat sebuah halaman website yang komplek. Ada beberapa teknik agar efektif dalam hal desain dan source code. Teknik yang paling sering di pakai adalah teknik include page. Codenya utamanya adalah sbb: 7
  • 8. Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id) Code.1.2 snippet include page <?php /* kode untuk meload halaman yang berbeda*/ if(isset($_GET['pg'])){ $page=$_GET['pg'].".php"; include($page); }else{ include('home.php'); } ?> Gambar 1.1 Tampilan layout website Untuk membuat link ke home dan cara pesan, minimal seperti ini di code 1.2 kemudian buatlah file home.php dn cara pesan.php dalam format html biasa 8
  • 9. Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id) Code 1.3 home.php <!—home.php <h1>Selamat datang di toko buku murah</h1> <P> disini anda bisa membeli dan memesan buku dengan mudah, anda tinggal klik, maka buku sampai di tempat anda. tidak perlu lagi jauh jauh ke toko buku </p> Sedangkan halaman contact.php sbb: Code 1.4 contact.php <h1>Alamat kami</h1> <p> Jalan Lurus no 5 Yogyakarta <br> Telp (0274) 123456 <br> Email:bukumurah@gmail.com </p> 9
  • 10. Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id) BAB II Perancangan Database, Login Dan Validasi Form Perancangan Database Sebelum lebih jauh membahas code, berikut ini adalah diagram database untuk system ecommerce yang akan kita buat. Gambar 2.1 Diagram Relasi tabel 10
  • 11. Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id) Login Untuk membuat halaman login, 3 hal utama yang perlu di lakukan adalah sbb: 1. Membuat table pengelola 2. Membuat halaman form login 3. Mengecek user di database 4. Jika sukses, menyimpan username kedalam session 5. Redirect user ke halaman admin. Tabel pengelola Form Login Code 2.1 form login !--table pengolahan data nanti disini--> <h1> Login page</h1> <form id="form1" name="form1" method="post" action="pengelola_check_login.php"> <table align="center"> <tr> <td >username*</td> <td ><input name="username" type="text" id="username" /></td> </tr> <tr> <td>password*</td> <td><input name="password" type="password" id="password" /></td> <tr> <td colspan="3" align="right"> <input type="submit" name="Submit" value="Submit" /> 11
  • 12. Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id) <input type="reset" name="" value="Reset" /></td> </tr> Cek Login dan redirect Code 2. 2 cek_login <?php session_start(); session_register('username'); //file konfigurasi include ('inc/config.php'); $username = $_POST['username']; $password = $_POST['password']; $password = md5($password); $sql = "select * from pengelola where username='$username' and password='$password' "; $userquery = mysql_query($sql) or die(mysql_error()); // $valid=false; if (mysql_num_rows($userquery) == 1) { header('location:index.php'); $valid = true; $_SESSION['username'] = $username; } if ($valid == false) { header("Location:form_login.php?status=1"); } ?> 12
  • 13. Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id) Jangan lupa buat file config.php yang berisi konfigurasi database Code 2.3 konfigurasi database <?php $host = "localhost"; // Host name $username = "root"; // Mysql username $password = "root"; // Mysql password $db_name = "bookdb"; // Database name // Connect to server and select database. mysql_connect("$host", "$username", "$password") or die("cannot connect" . mysql_error()); mysql_select_db("$db_name") or die(mysql_error()); ?> Form Validasi Mengenal Library Validasi Javascript Untuk memvalidasi form, ada berbagai macam teknik. Namun secara umum dibagi dua, yaitu server side check dan client side check. Modul ini hanya membahas sc ript validasi menggunakan script dari http://www.javascript-coder.com/html-form/javascript-form-validation.phtml. 13
  • 14. Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id) Teknik Validasi Berbagai Macam Input Script yang disediakan diatas sudah mencakup berbagai macam validasi diantaranya adalah Validation Usage required or Harus di isi req maxlen=??? or Validasi input dengan maxmal karakter tertentu maxlength=??? minlen=??? or Validasi input dengan minimal karakter tertentu minlength=??? alphanumeric or Input harus alphanumeric (huruf dan angka tanpa spasi) alnum alphanumeric_space Input harus alphanumeric (huruf dan angka plus spasi) alnum_s num Input harus angka numeric Input harus huruf atau symbol alpha alphabetic alpha_s alphabetic_space Input harus huruf dan atau spasi email Validasi email lt=??? Lebih kecil dari lessthan=??? gt=??? Lebih besar dari greaterthan=??? Untuk menggunakan teknik validasi ini, pertama tambahkan code dibawah ini Code 2.3 script validasi <script src="js/validjs.js"></script> 14
  • 15. Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id) Dan letakan scipt validasi persis dibawah form Code 2.4 cara memvalidasi form <script language="JavaScript" type="text/javascript" xml:space="preserve">//<![CDATA[ var frmvalidator = new Validator("form1"); frmvalidator.EnableOnPageErrorDisplaySingleBox(); frmvalidator.EnableMsgsTogether(); frmvalidator.addValidation("username", "req", "Username masih kosong "); frmvalidator.addValidation("password", "req", "Password masih kosong "); //]]></script> Langkah terakhir, letakan dimana pesan error ingin ditampilkan Code 2.5 cara menampilkan output validasi <div id="form1_errorloc" style="color:red"> </div> 15
  • 16. Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id) Berikut ini adalah tampilan kalau login gagal Gambar 3 Validasi form menggunakan javascript 16
  • 17. Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id) BAB III CRUD Crud adalah proses pengelohan data standar yang terdiri dari 4 operasi dasar yaitu create, retrieve, update dan delete. Dalam bab ini, kita hanya akan membahas table pengelola . Untuk setiap table, kita membutuhkan 5 file, file file itu adalah 1. Pengelola_view 2. Pengelola_form_add 3. Pengelola_add 4. Pengelola_form_edit 5. Pengelola_edit Biasakan menggunakan format <namatabel>_action.php. Penamaan seperti ini akan memudahkan ketika nanti terjadi error dan lebih mudah dipahami. Insert Data Code 3.1 pengelola_Form_add <form id="form1" name="form1" method="post" action="pengelola_add.php"> <td> <table> <tr> <td width="120">username</td> <td width="350"> <input name="username" type="text" id="username" size="40" /> </td> </tr> <tr> <td width="120">password</td> <td width="350"> <input name="password" type="password" id="password" size="40" /> </td> </tr> <tr> <td>&nbsp;</td> <td> <input type="submit" name="tambahPengelola" value="Tambah" /> 17
  • 18. Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id) <input type="reset" name="resetbtn" value="Reset" /> </td> </tr> <tr> <td colspan='2'><div id="form1_errorloc" style="color:red"></div></td> </tr> </table></td> </form> <script language="javaScript" type="text/javascript" xml:space="preserve"> //You should create the validator only after the definition of the HTML form var frmvalidator = new Validator("form1"); frmvalidator.EnableOnPageErrorDisplaySingleBox(); frmvalidator.EnableMsgsTogether(); frmvalidator.addValidation("username", "req", "username masih kosong "); frmvalidator.addValidation("password", "req", "password masih kosong "); frmvalidator.addValidation("username", "maxlen=20", " username tidak boleh lebih dari 20 "); frmvalidator.addValidation("password", "alnum_s", "password tidak boleh ada spasi "); </script> Code 3.2 pengelola_add <?php include ('inc/config.php'); //data dari user if (isset($_POST['tambahPengelola'])) { $username = $_POST['username']; $password = $_POST['password']; $password = md5($password); $sql = "INSERT INTO pengelola(username,password) VALUES('$username', '$password')"; $result = mysql_query($sql) or die(mysql_error()); //check if query successful 18
  • 19. Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id) if ($result) { header('location:index.php?page=pengelola_view&status=0'); } else { header('location:index.php?page=pengelola_view&status=1'); } mysql_close(); } ?> Tampilan dari form tambah pengelola Gambar 4 halaman tambah pengelola Tampil Data Code 3.3 pengelola_view <?php include ('inc/config.php'); ?> <h1> Tabel pengelola</h1> <table width="600px" border=0> <tr style="background-color:#F79307"> <td width="200px">Username</td><td>Password</td><td width="100px">Operasi</td> </tr> <?php /* 19
  • 20. Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id) * kode untuk menghapus data */ if(isset($_GET['del'])){ $username=$_GET['id']; $hapus ="delete from pengelola where username='$username'"; mysql_query($hapus); } $sql=""; if(isset($_POST['btnCari'])){ $cari=$_POST['cari']; //ambil data dari table admin $sql="SELECT * FROM pengelola where username like '%$cari%'"; }else{ $sql="SELECT * FROM pengelola"; } $result=mysql_query($sql) or die(mysql_error()); //proses menampilkan data while($rows=mysql_fetch_array($result)){ ?> <tr> <td><? echo $rows['username'];?></td> <td><? echo $rows['password'];?></td> <td><a href="index.php?page=pengelola_form_edit&id=<? echo $rows['username']?>"> <img src="image/b_edit.png"></a><a href="index.php?page=pengelola_view&del=true&id=<? echo $rows['username']?>" onclick="return askUser()";> <img src="image/b_drop.png"></a></td> </tr> <? } 20
  • 21. Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id) //tutup koneksi ?> <tr> <td align=right colspan='2'><?php if (isset($_GET['status'])) { if ($_GET['status'] == 0) { echo " <div style='color:blue'>Operasi data berhasil</div>"; } else { echo "operasi gagal"; } } ?></td> <td align=right><a href="index.php?page=pengelola_form_add"> <img src="image/add.jpg"> Add</a></td> </tr> <tr></tr> </table> <? mysql_close(); //close database //tampilan siapa yang pengelola ?> 21
  • 22. Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id) Tampilan dari pengelola view Gambar 5 Tampilan tabel pengelola Update Data Code 3.4 pengelola_form_edit <?php include ('inc/config.php'); $id = $_GET['id']; //ambil data dari table feedback $sql = "select * from pengelola where username='$id' "; $result = mysql_query($sql) or die(mysql_error()); ?> <h2>Change password</h2> <table> <form id="form1" name="form1" method="post" action="pengelola_edit.php"> <? //proses menampilkan data while($rows=mysql_fetch_array($result)){ ?> <td width="120">username</td> <td width="350"><? echo $rows['username'];?></td> <input type="hidden" id="username" name="username" value=<? echo $rows['username'];?> /> 22
  • 23. Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id) <!--<input type="text" id="username" name="username" value=<? echo $rows['username'];?> /> --></td> </tr> <tr> <td width="120">password</td> <td width="350"> <input name="password" type="password" id="password" size="40" /> </td> </tr> <tr> <td>&nbsp;</td> <td> <input type="submit" name="submitUser" value="Submit" /> <input type="reset" name="resetbtn" value="Reset" /> </td> </tr> <? //loop while } ?> </form> </table> 23
  • 24. Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id) Code 3.5 Code untuk mengupdate data <?php include ('inc/config.php'); //data dari user if (isset($_POST['submitUser'])) { $username = $_POST['username']; $password = $_POST['password']; $password = md5($password); $sql = " update pengelola set password='$password' where username='$username'"; //echo $sql; $result = mysql_query($sql) or die(mysql_error()); //check if query successful if ($result) { header('location:index.php?page=pengelola_view&status=0'); } else { header('location:index.php?page=pengelola_view&status=1'); } mysql_close(); } ?> Delete Data Code 3.6 if(isset($_GET['del'])){ $username=$_GET['id']; $hapus ="delete from pengelola where username='$username'"; mysql_query($hapus); } 24
  • 25. Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id) BAB IV Membuat Katalog Produk Menu Kategori Produk Dinamis Bab ini langsung membahas halaman website di depan, untuk halaman admin kategori, anda buat sendiri. Berikut ini adalah data di halaman admin untuk table kategori Gambar 6 Kategori produk Kategori produk dalam hal ini adalah kategori buku degenerate secara dinamis menggunakan kode sebagai berikut Code 4.1 kategori.php <h1> Pilih Kategori buku</h1> <ul> <?php include('backsite/inc/config.php'); $kat="select kd_kategori,nama_kategori from kategori"; $hasil=mysql_query($kat) or die(mysql_error()); while($get_data=mysql_fetch_array($hasil)){ ?><li><a href="index.php?page=detail&id=<?=$get_data['kd_kategori']?>"> <? echo $get_data['nama_kategori']?> <!--(<?=$get_data['jumlah']?>)--> 25
  • 26. Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id) </a></li> <? } ?> </ul> Tampilan kategori produk di website Gambar 7 Kategori buku Daftar Produk Dinamis Untuk meleihat detail produk , anda harus mengklik kategori yang ada. Berikut ini adalah kode untuk menampilkan produk Code 4.2 detail produk <h2> Pilih Buku yang mau dibeli </h2> <?php $kd_kategori=$_GET['id']; include('backsite/inc/config.php'); $kat="select * from buku where kd_kategori='$kd_kategori'"; $hasil=mysql_query($kat) or die(mysql_error()); while($get_data=mysql_fetch_array($hasil)){ ?> 26
  • 27. Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id) <div class="meta floatLeft width25"> <a href="index.html" title="View Project" class="thumb"> <img src="cover/<?=$get_data['cover']?>" width='150px' heigth='150px'> </a> <dl> <dt> <span>Harga</span> </dt> <dd> <?=$get_data['harga'] ?> </dd> <dt> <span>Pengarang</span> </dt> <dd> <?=$get_data['pengarang'] ?> </dd> </dl> </div> <!-- .text: content of post --> <div class="meta floatRight width50"> <a name="inspiration"></a> <h1><?=$get_data['judul'] ?></h1> <h2>Deskripsi </h2> <p> <?=$get_data['deskripsi'];?> </p> <a href="index.php?page=cart&action=add&id=<?=$get_data['kd_buku']?>">Add to cart</a> </div> 27
  • 28. Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id) <div style=clear:both></div> ; <? } ?> Berikut ini adalah tampilan dari halaman produk detail Gambar 8 Contoh output detail produk 28
  • 29. Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id) BAB V Transaksi Dan Laporan Membuat Cart Belanja Code 5.1 keranjang belanja <? // Include MySQL class require_once ('inc/mysql.class.php'); // Include database connection require_once ('inc/global.inc.php'); // Include functions require_once ('inc/functions.inc.php'); // Start the session session_start(); // Process actions $cart = $_SESSION['cart']; $action = $_GET['action']; switch ($action) { case 'add' : if ($cart) { $cart .= ',' . $_GET['id']; } else { $cart = $_GET['id']; } break; case 'delete' : if ($cart) { $items = explode(',', $cart); $newcart = ''; foreach ($items as $item) { if ($_GET['id'] != $item) { if ($newcart != '') { 29
  • 30. Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id) $newcart .= ',' . $item; } else { $newcart = $item; } } } $cart = $newcart; } break; case 'update' : if ($cart) { $newcart = ''; foreach ($_POST as $key => $value) { if (stristr($key, 'qty')) { $id = str_replace('qty', '', $key); $items = ($newcart != '') ? explode(',', $newcart) : explode(',', $cart); $newcart = ''; foreach ($items as $item) { if ($id != $item) { if ($newcart != '') { $newcart .= ',' . $item; } else { $newcart = $item; } } } for ($i = 1; $i <= $value; $i++) { if ($newcart != '') { $newcart .= ',' . $id; } else { $newcart = $id; } } 30
  • 31. Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id) } } } $cart = $newcart; break; } $_SESSION['cart'] = $cart; ?> <div id="shoppingcart"> <h1>Keranjang belanja anda</h1> <?php echo writeShoppingCart(); ?> </div> <div id="contents"> <h3>Cek keranjang belanja</h3> <?php echo showCart(); ?> Code 5.2 Kode untuk form data pembeli <h1>Form Pengiriman barang</h1> <a href="index.php?page=cart&action=finish&kirim=true">Bungkus</a> <?php if(isset($_GET['kirim'])){ ?> <form id="form1" name="form1" method="post" action="pemesan_add.php"> <td> 31
  • 32. Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id) <table> <!--<tr> <td width="120">kd_pemesan</td> <td width="350"><input name="kd_pemesan" type="text" id="kd_pemesan" size="40" /></td> </tr>--> <tr> <td width="120">Nama</td> <td width="350"> <input name="Nama" type="Nama" id="Nama" size="40" /> </td> </tr> <tr> <td width="120">Alamat</td> <td width="350"> <input name="Alamat" type="Alamat" id="Alamat" size="40" /> </td> </tr> <tr> <td width="120">kd_pos</td> <td width="350"> <input name="kd_pos" type="kd_pos" id="kd_pos" size="40" /> </td> </tr> <tr> <td width="120">No_telp</td> <td width="350"> <input name="No_telp" type="No_telp" id="No_telp" size="40" /> </td> 32
  • 33. Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id) </tr> <tr> <td width="120">Email</td> <td width="350"> <input name="Email" type="Email" id="Email" size="40" /> </td> </tr> <?php?> <tr> <td width="120">Kota</td> <td width="350"> <select name='id_kota' id='id_kota'> <? $get_kota=mysql_query('select * from biaya_kirim order by nama_kota'); while ($rows=mysql_fetch_array($get_kota)){ ?> <option value="<?=$rows['id_kota']?>"><?=$rows['nama_kota'] ?></option> <? }//end while ?> </select></td> </tr> <tr> <td>&nbsp;</td> <td> <input type="submit" name="tambah" value="Tambah" /> <input type="reset" name="resetbtn" value="Reset" /> </td> 33
  • 34. Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id) </tr> <tr> <td colspan='2'><div id="form1_errorloc" style="color:red"></div></td> </tr> </table></td> </form> <script language="javaScript" type="text/javascript" xml:space="preserve"> //You should create the validator only after the definition of the HTML form var frmvalidator = new Validator("form1"); frmvalidator.EnableOnPageErrorDisplaySingleBox(); frmvalidator.EnableMsgsTogether(); frmvalidator.addValidation("kd_pemesan", "req", "kode pemesan masih kosong "); frmvalidator.addValidation("Nama", "req", "nama masih kosong "); frmvalidator.addValidation("Alamat", "req", "alamat masih kosong "); frmvalidator.addValidation("kd_pos", "req", "kode pos masih kosong "); frmvalidator.addValidation("No_telp", "req", "no. telp masih kosong"); frmvalidator.addValidation("email", "req", "email masih kosong"); frmvalidator.addValidation("kd_pemesan", "alnum_s ", "kode pemesan tidak boleh ada spasi "); frmvalidator.addValidation("Alamat", "minlen=10", "alamat kurang lengkap "); frmvalidator.addValidation("kd_pos", "num", "input harus angka "); frmvalidator.addValidation("No_telp", "num", "input harus 34
  • 35. Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id) angka "); frmvalidator.addValidation("email", "maxlen=50", "maksimal panjang email 50 karakter"); </script> <? } ?> </div> 35
  • 36. Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id) Tampilan chart Gambar 9 Tampilan keranjang dan form pengiriman barang Membuat Laporan Penjualan Berikut ini adalah contoh membuat laporan table produk barang. Laporan sebenarnya sama dengan halaman administrasi data, perbedaannya di laporan tidak ada menu dan tampilan yang tidak perlu 36
  • 37. Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id) Code 2.3 Laporan daftar buku <html> <head> <link rel="stylesheet" type="text/css" media="screen" href="style2.css" /> </head> <body> <h2 align="center"> Laporan Daftar Buku </h2> <h1 align="center"> Toko Buku murah </h1> <p align="center"> jl Lurus no 5 Yogyakarta </p> <hr> <br/> <?php?> <table align='center'> <tr style="background-color:#F79307"> <td>No</td><td>Kd buku</td><td>Judul</td><td>Pengarang</td> <td>Harga</td> </tr> <?php include ('inc/config.php'); $sql="SELECT * FROM buku"; $result=mysql_query($sql) or die(mysql_error()); //proses menampilkan data $no=1; while($rows=mysql_fetch_array($result)){ ?> <tr> <td><?=$no;?></td> <td><? echo $rows['kd_buku'];?></td> <td><? echo $rows['judul'];?></td> <td><? echo $rows['pengarang'];?></td> <td><? echo $rows['harga'];?></td> 37
  • 38. Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id) </tr> <? $no++; } ?> </table> <?mysql_close(); ?> </body> </html> Tampilan laporan buku Gambar 10 laporan daftar Buku 38
  • 39. Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id) Program eCommerce diatas masih perlu di kembangkan. Beberapa ide untukmengembangkan adalah sbb: 1. Adanya pendaftaran user 2. Adanya stok barang 3. Pencarian catalog produk 4. Mengembangkan kea rah mobile commerce dengan jQuery Mobile Demikian, semoga bermanfaat! 39