SlideShare a Scribd company logo
CandraLab Coding Studio http://www.candra.web.id
12
eCommerce
dengan PHP MySQL
Candra Adi Putra (candraadiputra@gmail.com)
Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id)
2
Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id)
3
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
Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id)
4
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
Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id)
5
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.
Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id)
6
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
Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id)
7
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:
Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id)
8
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
Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id)
9
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>
Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id)
10
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
Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id)
11
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" />
Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id)
12
<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");
}
?>
Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id)
13
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.
Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id)
14
Teknik Validasi Berbagai Macam Input
Script yang disediakan diatas sudah mencakup berbagai macam validasi diantaranya adalah
Validation Usage
required or
req
Harus di isi
maxlen=??? or
maxlength=???
Validasi input dengan maxmal karakter tertentu
minlen=??? or
minlength=???
Validasi input dengan minimal karakter tertentu
alphanumeric or
alnum
Input harus alphanumeric (huruf dan angka tanpa spasi)
alphanumeric_space
alnum_s
Input harus alphanumeric (huruf dan angka plus spasi)
num
numeric
Input harus angka
alpha
alphabetic
Input harus huruf atau symbol
alpha_s
alphabetic_space Input harus huruf dan atau spasi
email Validasi email
lt=???
lessthan=???
Lebih kecil dari
gt=???
greaterthan=???
Lebih besar dari
Untuk menggunakan teknik validasi ini, pertama tambahkan code dibawah ini
Code 2.3 script validasi
<script src="js/validjs.js"></script>
Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id)
15
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>
Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id)
16
Berikut ini adalah tampilan kalau login gagal
Gambar 3 Validasi form menggunakan javascript
Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id)
17
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" />
Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id)
18
<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
Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id)
19
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
/*
Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id)
20
* 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>
<?
}
Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id)
21
//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
?>
Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id)
22
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'];?> />
Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id)
23
<!--<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>
Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id)
24
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);
}
Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id)
25
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']?>)-->
Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id)
26
</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)){
?>
Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id)
27
<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>
Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id)
28
<div style=clear:both></div>
; <?
}
?>
Berikut ini adalah tampilan dari halaman produk detail
Gambar 8 Contoh output detail produk
Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id)
29
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 != '') {
Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id)
30
$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;
}
}
Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id)
31
}
}
}
$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>
Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id)
32
<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>
Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id)
33
</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>
Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id)
34
</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
Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id)
35
angka ");
frmvalidator.addValidation("email", "maxlen=50", "maksimal
panjang email 50 karakter");
</script>
<?
}
?>
</div>
Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id)
36
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
Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id)
37
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>
Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id)
38
</tr>
<?
$no++;
}
?>
</table>
<?mysql_close();
?>
</body>
</html>
Tampilan laporan buku
Gambar 10 laporan daftar Buku
Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id)
39
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!

More Related Content

DOCX
E commerce dengan php mysql.docx
PDF
Jamal aplikasicrud
PDF
Modul pelatihan-django-dasar-possupi-v1
PDF
Sisfo akademik #1 - data kelas
PDF
Buku tips & trik adobe dreamweaver cs5.5 2012_roki
PDF
Modul web design - studi kasus website portal berita
PDF
Panduan lengkap php ajax j query
PDF
Java web application 2 - membuat template web
E commerce dengan php mysql.docx
Jamal aplikasicrud
Modul pelatihan-django-dasar-possupi-v1
Sisfo akademik #1 - data kelas
Buku tips & trik adobe dreamweaver cs5.5 2012_roki
Modul web design - studi kasus website portal berita
Panduan lengkap php ajax j query
Java web application 2 - membuat template web

What's hot (19)

PDF
Adobe dreamwaver
DOCX
Laporan akhir
PDF
Java Web Form Pendaftaran - JSP
PPT
Pengenalan Macromedia Dreamweaver
PDF
Pengenalan dreamweaver
PDF
Kenalan Dengan Firebase Android
DOCX
Tutorial web programing x rpl 1
PDF
Menggunakan Twitter Bootstrap dengan ASP.NET C# MVC 3 Web Application
DOC
Macromedia dreamweaver-8
PDF
Aplikasi Cuaca dan Quiz Android
PDF
Modul Web Programming - Framework CodeIgniter
PDF
Module desain web
PDF
Buku ajar desain web
PDF
Tutorial ci
PDF
Java web application 1
DOCX
Tutorial web programing
PDF
Belajar php
DOCX
Tugas laporan aplikasi web nova muhdalifah
PDF
Adobe dreamwaver
Laporan akhir
Java Web Form Pendaftaran - JSP
Pengenalan Macromedia Dreamweaver
Pengenalan dreamweaver
Kenalan Dengan Firebase Android
Tutorial web programing x rpl 1
Menggunakan Twitter Bootstrap dengan ASP.NET C# MVC 3 Web Application
Macromedia dreamweaver-8
Aplikasi Cuaca dan Quiz Android
Modul Web Programming - Framework CodeIgniter
Module desain web
Buku ajar desain web
Tutorial ci
Java web application 1
Tutorial web programing
Belajar php
Tugas laporan aplikasi web nova muhdalifah
Ad

Similar to E commerce dengan php mysql (20)

PPT
Meng-Install CMS menggunakan xampp (Opencart, phpBB, Prestashop)
PDF
Php, mySQL dan Javascript - 1
PDF
Membangun website e-commerce_berbasis_php_dan_my_sql
PPT
INSTALL CMS (Opencart,phpBB,PrestaShop,dan SMF)
PPT
Pengertian,kekurangan dan kelebihan,dan menginstallnya Prestashop,Opencart,SM...
PPTX
Tugas 3 Rekayasa Web
DOCX
pemrograman internet
PPTX
Tugas 3
DOCX
Laporan web
PDF
PDF
Cara setup-yii
PDF
Ci indonesia
PDF
Ci indonesia
DOC
Php modul1 dasar dasar php
DOC
laporan praktikum rekayasa software php dan mysql
PDF
Menyelam dan menaklukan samudra php
PDF
Ebook php menyelam dan menaklukan samudra php
PDF
Building eCommerce
PPTX
Install CMS SMF,phpBB,Opencart,Prestashop
PDF
Membuat web api_dhk_dika
Meng-Install CMS menggunakan xampp (Opencart, phpBB, Prestashop)
Php, mySQL dan Javascript - 1
Membangun website e-commerce_berbasis_php_dan_my_sql
INSTALL CMS (Opencart,phpBB,PrestaShop,dan SMF)
Pengertian,kekurangan dan kelebihan,dan menginstallnya Prestashop,Opencart,SM...
Tugas 3 Rekayasa Web
pemrograman internet
Tugas 3
Laporan web
Cara setup-yii
Ci indonesia
Ci indonesia
Php modul1 dasar dasar php
laporan praktikum rekayasa software php dan mysql
Menyelam dan menaklukan samudra php
Ebook php menyelam dan menaklukan samudra php
Building eCommerce
Install CMS SMF,phpBB,Opencart,Prestashop
Membuat web api_dhk_dika
Ad

More from Alvin Setiawan (20)

PPT
Penyelesaian pers-biseksi13
PDF
Penyelesaian persamaan-non-linear
PDF
Pengembangan sistem 1 2
PDF
Pedoman ta2008
PDF
Pbw week 01 basics
PDF
PDF
Nl eqn lab
PDF
PDF
Modul pelatihan ly_x_untuk_jurnal-feb-2cols
PDF
Ml2 f304213
PDF
Micro sim template_2
PDF
Metode numerik-rinaldi-munir-libre
PDF
Metode numerik-buku-ajar-unila
PDF
Metode regula falsi
PDF
Metode biseksi
PPT
Met num3 persnonl-inier_baru
PDF
Met num02 persamaan non linier
PDF
Membuat dokumen dengan latex ver.0.3
PDF
M8 perancangan terinci
PDF
Lyx tutorial-for-dummies
Penyelesaian pers-biseksi13
Penyelesaian persamaan-non-linear
Pengembangan sistem 1 2
Pedoman ta2008
Pbw week 01 basics
Nl eqn lab
Modul pelatihan ly_x_untuk_jurnal-feb-2cols
Ml2 f304213
Micro sim template_2
Metode numerik-rinaldi-munir-libre
Metode numerik-buku-ajar-unila
Metode regula falsi
Metode biseksi
Met num3 persnonl-inier_baru
Met num02 persamaan non linier
Membuat dokumen dengan latex ver.0.3
M8 perancangan terinci
Lyx tutorial-for-dummies

E commerce dengan php mysql

  • 1. CandraLab Coding Studio http://www.candra.web.id 12 eCommerce dengan PHP MySQL Candra Adi Putra (candraadiputra@gmail.com)
  • 2. Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id) 2
  • 3. Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id) 3 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
  • 4. Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id) 4 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
  • 5. Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id) 5 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.
  • 6. Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id) 6 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
  • 7. Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id) 7 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:
  • 8. Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id) 8 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
  • 9. Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id) 9 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>
  • 10. Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id) 10 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
  • 11. Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id) 11 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" />
  • 12. Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id) 12 <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"); } ?>
  • 13. Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id) 13 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.
  • 14. Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id) 14 Teknik Validasi Berbagai Macam Input Script yang disediakan diatas sudah mencakup berbagai macam validasi diantaranya adalah Validation Usage required or req Harus di isi maxlen=??? or maxlength=??? Validasi input dengan maxmal karakter tertentu minlen=??? or minlength=??? Validasi input dengan minimal karakter tertentu alphanumeric or alnum Input harus alphanumeric (huruf dan angka tanpa spasi) alphanumeric_space alnum_s Input harus alphanumeric (huruf dan angka plus spasi) num numeric Input harus angka alpha alphabetic Input harus huruf atau symbol alpha_s alphabetic_space Input harus huruf dan atau spasi email Validasi email lt=??? lessthan=??? Lebih kecil dari gt=??? greaterthan=??? Lebih besar dari Untuk menggunakan teknik validasi ini, pertama tambahkan code dibawah ini Code 2.3 script validasi <script src="js/validjs.js"></script>
  • 15. Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id) 15 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>
  • 16. Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id) 16 Berikut ini adalah tampilan kalau login gagal Gambar 3 Validasi form menggunakan javascript
  • 17. Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id) 17 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" />
  • 18. Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id) 18 <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
  • 19. Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id) 19 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 /*
  • 20. Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id) 20 * 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> <? }
  • 21. Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id) 21 //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 ?>
  • 22. Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id) 22 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'];?> />
  • 23. Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id) 23 <!--<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>
  • 24. Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id) 24 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); }
  • 25. Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id) 25 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']?>)-->
  • 26. Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id) 26 </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)){ ?>
  • 27. Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id) 27 <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>
  • 28. Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id) 28 <div style=clear:both></div> ; <? } ?> Berikut ini adalah tampilan dari halaman produk detail Gambar 8 Contoh output detail produk
  • 29. Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id) 29 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 != '') {
  • 30. Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id) 30 $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; } }
  • 31. Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id) 31 } } } $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>
  • 32. Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id) 32 <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>
  • 33. Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id) 33 </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>
  • 34. Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id) 34 </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
  • 35. Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id) 35 angka "); frmvalidator.addValidation("email", "maxlen=50", "maksimal panjang email 50 karakter"); </script> <? } ?> </div>
  • 36. Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id) 36 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
  • 37. Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id) 37 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>
  • 38. Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id) 38 </tr> <? $no++; } ?> </table> <?mysql_close(); ?> </body> </html> Tampilan laporan buku Gambar 10 laporan daftar Buku
  • 39. Membangun eCommerce Berbasis PHP MySQL (http://www.candra.web.id) 39 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!