BACKEND E-COMMERCE TOKO KARISMA Langkah berikutnya adalah membuat bagian backend dari toko online Karisma ecommerce. Copy folder css dan img yang telah disediakan ke dalam folder admin. LOGIN 1. Buat file PHP baru kemudian ketik kode berikut: <!DOCTYPE html > <html> <head> <meta charset="utf-8"> <title>LOGIN ADMIN</title> <link rel="icon" href="img/favicon.ico"> <link href="css/style.css" rel="stylesheet" /> </head> <body> <section class="main"> <h1>Silakan masukkan nama dan password Anda:</h1> <hr class="separator"> <form name="login" action="verifikasi.php" method="post"> AMAN LOGIN / LOGOUT SIAPAN
50
Embed
neezasty.files.wordpress.com · Web viewBACKEND E-COMMERCE. TOKO KARISMA. PERSIAPAN. Langkah berikutnya adalah membuat bagian backend dari toko online Karisma ecommerce. Copy folder
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
BACKEND E-COMMERCE
TOKO KARISMA
Langkah berikutnya adalah membuat bagian backend dari toko online Karisma ecommerce. Copy folder css dan img yang telah disediakan ke dalam folder admin.
LOGIN
1. Buat file PHP baru kemudian ketik kode berikut:
2. Simpan dengan nama login.php di dalam folder admin.3. Lihat hasilnya di web browser.
4. Perhatikan pada tag <form> di langkah nomor 1, atribut action adalah verifikasi.php. Sehingga ketika tombol LOGIN ditekan, data pada form akan diproses di halaman verifikasi.php.
5. Selanjutnya kita akan membuat halaman untuk memproses data pada form login. Buat file PHP baru dengan nama verifikasi.php.
6. Tambahkan fungsi include() untuk mengkoneksikan file PHP dengan database MySQL.
<?php
include('inc/config.php');
?>
7. Kemudian buat variabel $nama dengan value $_POST[‘nama’] dan $password dengan value $_POST[‘password’]. $_POST adalah variabel superglobal yang digunakan untuk menangani data pada form.
8. Karena halaman admin sangat penting, sebaiknya inputan perintah SQL kita filter terlebih dahulu menggunakan mysql_real_escape_string untuk menghindari serangan SQL Injection. SQL Injection merupakan sebuah teknik hacking dimana seorang penyerang dapat memasukkan perintah SQL melalui URL untuk dieksekusi oleh database. Penjelasan lebih dalam dapat Anda dapatkan di link berikut ini http://id.wikipedia.org/wiki/Injeksi_SQL
9. Langkah selanjutnya buat query SQL untuk memilih record pada tabel user yang valuenya sama seperti data yang kita inputkan melalui form.
$query = mysql_query("SELECT * FROM user WHERE nama = '$nama' AND password = '$password'");
10. Kemudian kita cek apakah terdapat record di tabel user menggunakan mysql_num_rows dengan parameter berupa variabel $query tadi. mysql_num_rows akan menghitung jumlah record yang dihasilkan dari sebuah perintah SQL.
if(mysql_num_rows($query) == 1) { echo "Anda berhasil login";} else { echo "Anda gagal login";}
11. Untuk mengecek apakah script PHP berjalan lancar, jalankan file login.php. Masukkan nama admin dan password admin. Hasilnya akan seperti berikut ini:
Jika nama dan password salah:
12. Selanjutnya modifikasi kode pada langkah 10 di atas dengan membuat variabel session.
13. Pada kode di atas, jika kondisi if bernilai benar maka akan membuat dua buah session dengan isi variabel $nama dan $password. Fungsi header adalah untuk me-redirect ke halaman lain.
14. Langkah terakhir, kita akan memberikan fungsi redirect di halaman login.php sehingga jika pengguna telah berhasil login, maka halaman login.php akan dialihkan ke index.php. Ketik kode berikut di login.php bagian paling atas.
<?php session_start(); if(isset($_SESSION['nama']) AND isset($_SESSION['password'])){ header('location:index.php'); }?>
LOGOUT
1. Untuk mengakhiri sesi saat login, Anda dapat menghapus session yang tersimpan di web browser. Hal ini dilakukan agar orang lain tidak dapat mengakses halaman admin menggunakan akun kita.
2. Buat file baru dengan nama logout.php kemudian ketik kode berikut ini:
3. Pada bagian header, kita meng-include-kan file config.php terlebih dahulu. Kemudian memanggil fungsi session_start() agar session dapat digunakan di halaman ini. Di sini juga terdapat operasi kondisi untuk mengecek apakah variabel $_SESSION[‘nama’] dan $_SESSION[‘password’] telah terisi.
SIDEBAR
1. Buat file php baru dengan nama sidebar.php dan simpan di dalam folder inc/.2. Ketik kode berikut ini:
1. Buat file php baru dengan nama footer.php dan simpan di dalam folder inc/.2. Ketik kode berikut ini:
</body></html>
INDEX.PHP
1. Setelah membuat header, sidebar, dan footer, selanjutnya adalah membuat halaman utamanya. Ketik kode berikut ini kemudian simpan dengan nama index.php di dalam folder admin/.
<?php $page = "BERANDA"; ?>
<?php include('inc/header.php'); ?>
<?php include('inc/sidebar.php'); ?>
<section class="main"> <h1>Selamat datang, <?php echo $_SESSION['nama']; ?></h1> <?php $query_pesanan = mysql_num_rows(mysql_query("SELECT id_pesanan FROM pesanan WHERE status = 2")); ?>
<p>Hari ini ada <a href="order.php"><?php echo $query_pesanan; ?></a> pesanan yang belum diproses.</p></section>
<?php include('inc/footer.php'); ?>
2. Jalankan file index.php kemudian lihat hasilnya di web browser.
3. Halaman index.php berisi teks “Selamat datang, “ yang diikuti dengan nama login pengguna. Selain itu terdapat kode yang menghitung jumlah pesanan yang belum diproses menggunakan fungsi mysql_num_rows.
MEMBUAT HALAMAN
1. Buat file PHP baru kemudian simpan dengan nama product_category.php. Tambahkan header, sidebar, dan footer menggunakan fungsi include().
3. Perhatikan link pada tombol TAMBAH, atribut href memiliki value ?act=tambah yang berarti ketika tombol di klik, halaman akan membuka halamannya sendiri dengan tambahan parameter act.
MENAMPILKAN RECORD
1. Tambahkan tag untuk membuat tabel di bawah tombol TAMBAH.
2. Pada kode PHP di atas kita akan menampilkan record yang ada pada tabel kategori. Buat variabel dengan nama $query di bawah komentar // record dari tabel kategori.
<?php // record dari tabel kategori $query = mysql_query("SELECT * FROM kategori"); ?>
3. Kemudian cek apakah terdapat record pada tabel dengan menggunakan fungsi mysql_num_rows().
<?php $query = mysql_query("SELECT * FROM kategori"); if(mysql_num_rows($query) > 0) { // ada record } else { // tidak ada record }?>
4. Jika tabel kategori sudah memiliki record, lakukan perulangan untuk menampilkan record tersebut menggunakan while. Fungsi mysql_fetch_array() merupakan salah satu fungsi yang banyak digunakan dalam proses pengambilan data MySQL. Fungsi ini akan menangkap data dari hasil perintah query dan membentuknya ke dalam array asosiatif dan array numerik.
2. Kode di atas berfungsi untuk mengecek apakah variabel $_GET[‘act’] telah di-set dan memiliki value tambah. Jika bernilai benar, maka akan menampilkan form untuk menambah kategori.
3. Coba perhatikan ketika tombol TAMBAH ditekan, pada address bar akan terlihat seperti berikut ini:
4. Sekarang hapus bagian ?act=tambah pada address bar dan lihat hasilnya.
5. Perhatikan atribut action pada form yang memiliki value ?act=proses_tambah. Hal ini berarti jika tombol SIMPAN ditekan, maka data akan diproses pada halaman product_category.php dengan parameter act bernilai proses_tambah.
6. Tambahkan elseif untuk mengecek apakah parameter act berupa proses_tambah.
elseif(isset($_GET['act']) AND $_GET['act']=='proses_tambah') { $tambah = mysql_query("INSERT INTO kategori (kategori) VALUES ('$_POST[kategori]')"); if($tambah) { echo "Data berhasil ditambahkan!"; } else { echo "Data gagal ditambahkan!"; } echo "<hr>";}
7. Kode elseif di atas akan berjalan jika variabel $_GET[‘act’] memiliki value proses_tambah. Untuk memasukkan data ke tabel, kita dapat menggunakan perintah INSERT.
8. Data kategori produk yang diinputkan adalah Laptop, Desktop PC, Smartphone, dan Tablet.
MENGUBAH RECORD
1. Buka file product_category.php kemudian perhatikan bagian <a href='?act=edit&id=$data[id_kategori]'>. Pada bagian link tombol EDIT mengarah pada act=edit dengan parameter tambahan berupa $data[id_kategori]. $data[id_kategori] ini adalah id data yang akan kita edit.
3. Kemudian tambahkan perintah elseif untuk memproses form edit.
elseif(isset($_GET['act']) AND $_GET['act']=='proses_edit') { $edit = mysql_query("UPDATE kategori SET kategori = '$_POST[kategori]'
WHERE id_kategori = '$_POST[id]'"); if($edit) { echo "Data berhasil diperbaharui!"; } else { echo "Data gagal diperbaharui!"; } echo "<hr>";}
4. Lihat hasilnya di web browser.
MENGHAPUS RECORD
1. Ketika tombol hapus diklik, akan muncul konfirmasi bahwa data akan dihapus.2. Tambahkan perintah elseif untuk menampung parameter act=?hapus.
elseif(isset($_GET['act']) AND $_GET['act']=='hapus') { $hapus = mysql_query("DELETE FROM kategori WHERE id_kategori = '$_GET[id]'"); if($hapus) { echo "Data berhasil dihapus!"; } else { echo "Data gagal dihapus!"; } echo "<hr>";}
3. Perintah DELETE digunakan untuk menghapus record dari tabel sesuai dengan id yang tertera pada parameter url.
HALAMAN PRODUK
Untuk halaman lain, konsepnya sama seperti pembuatan halaman Kategori Produk. Mulai dari membuat halaman, menampilkan record, menambah record, mengubah record, dan menghapus record.
MEMBUAT HALAMAN
1. Buat file PHP baru kemudian simpan dengan nama product.php. Tambahkan header, sidebar, dan footer menggunakan fungsi include().
2. Kode di atas akan menampilkan form penambahan produk. Option pada bagian pemilihan kategori produk mengambil data dari tabel kategori.Note: jika pada form terdapat input berupa file, maka tag form harus ditambahkan atribut enctype='multipart/form-data'
3. Lihat hasilnya di web browser.
4. Halaman produk ini akan kita tambahkan fitur upload gambar. Buatlah folder dengan nama uploads di dalam folder admin/. Buka folder uploads setelah itu buat folder product dan blog. Folder ini adalah folder di mana kita akan menyimpan gambar hasil upload.
5. Tambahkan elseif untuk mengecek apakah parameter act berupa proses_tambah.
6. Kode berikut if($_FILES['gambar']['error'] != 0) digunakan untuk mengecek apakah terdapat file yang diupload. Jika kondisi if bernilai benar, berarti tidak ada gambar yang diupload. Jika false, maka ada gambar yang diupload. 'gambar' pada kode di atas adalah atribut name pada form dengan input type berupa file.
7. Jalankan file product.php dan lihat hasil upload di folder product.
2. Kemudian tambahkan perintah elseif untuk memproses form edit.
elseif(isset($_GET['act']) AND $_GET['act']=='proses_edit') { if($_FILES['gambar']['error'] != 0) { $edit = mysql_query("UPDATE produk SET judul = '$_POST[judul]', deskripsi = '$_POST[deskripsi]', isi = '$_POST[isi]', harga = '$_POST[harga]', stok = '$_POST[stok]', id_kategori = '$_POST[id_kategori]' WHERE id_produk = '$_POST[id]'"); } else { $tmp_file = $_FILES['gambar']['tmp_name']; $filename = $_FILES['gambar']['name']; $filetype = $_FILES['gambar']['type']; $filesize = $_FILES['gambar']['size']; $destination = 'uploads/product/' . $filename; if(move_uploaded_file($tmp_file,$destination)){ $gambar = $filename; } $edit = mysql_query("UPDATE produk SET judul = '$_POST[judul]', deskripsi = '$_POST[deskripsi]', isi = '$_POST[isi]', harga = '$_POST[harga]', stok = '$_POST[stok]', gambar = '$gambar', id_kategori = '$_POST[id_kategori]' WHERE id_produk = '$_POST[id]'"); } if($edit) { echo "Data berhasil diperbaharui!"; } else { echo "Data gagal diperbaharui!"; } echo "<hr>";}
3. Lihat hasilnya di web browser.
MENGHAPUS RECORD
1. Ketika tombol hapus diklik, akan muncul konfirmasi bahwa data akan dihapus.2. Tambahkan perintah elseif untuk menampung parameter act=?hapus.
elseif(isset($_GET['act']) AND $_GET['act']=='hapus') { $hapus = mysql_query("DELETE FROM produk WHERE id_produk = '$_GET[id]'"); if($hapus) { echo "Data berhasil dihapus!"; } else { echo "Data gagal dihapus!"; } echo "<hr>";}
Halaman pesanan ini digunakan untuk memproses pesanan yang masuk. Ada tiga status yang meliputi:
1. Finalized : pesanan telah diproses2. Pending : pesanan masih menunggu untuk diproses3. Aborted : pesanan gagal diproses
Yang berhak mengubah status pesanan adalah administrator.
MEMBUAT HALAMAN
HALAMAN PESANAN
1. Buat file PHP baru kemudian simpan dengan nama order.php. Tambahkan header, sidebar, dan footer menggunakan fungsi include().
3. Tambahkan data dummy ke tabel member dan pesanan melalui phpmyadmin.TABEL MEMBER
TABEL PESANAN
HASIL
MENGUBAH STATUS PESANAN
1. Tambahkan kode berikut ini sebelum tag <table>.
<?php if(isset($_GET['act']) AND $_GET['act']=='finalized') { $status = mysql_query("UPDATE pesanan SET status = 1 WHERE id_pesanan = '$_GET[id]'"); if($status) { echo "Data berhasil disimpan!"; } else { echo "Data gagal disimpan!"; } echo "<hr>"; } elseif(isset($_GET['act']) AND $_GET['act']=='pending') { $status = mysql_query("UPDATE pesanan SET status = 2 WHERE id_pesanan = '$_GET[id]'"); if($status) { echo "Data berhasil disimpan!"; } else { echo "Data gagal disimpan!"; } echo "<hr>"; } elseif(isset($_GET['act']) AND $_GET['act']=='aborted') { $status = mysql_query("UPDATE pesanan SET status = 3 WHERE id_pesanan = '$_GET[id]'"); if($status) { echo "Data berhasil disimpan!"; } else { echo "Data gagal disimpan!"; } echo "<hr>"; }?>
2. Kode di atas akan memperbaharui kolom status sesuai tombol yang ditekan. Jika finalized akan mengubah status menjadi 1. Jika pending statusnya akan berubah menjadi 2. Jika abort statusnya menjadi 3.STATUS FINALIZED
STATUS PENDING
STATUS ABORT
MEMBUAT HALAMAN
1. Buat file PHP baru kemudian simpan dengan nama blog.php. Tambahkan header, sidebar, dan footer menggunakan fungsi include().
2. Kode di atas akan menampilkan form penambahan blog.Note: jika pada form terdapat input berupa file, maka tag form harus ditambahkan atribut enctype='multipart/form-data'
3. Lihat hasilnya di web browser.
4. Tambahkan elseif untuk mengecek apakah parameter act berupa proses_tambah.
} $tambah = mysql_query("INSERT INTO blog (judul, deskripsi, isi, tanggal, gambar) VALUES ('$_POST[judul]', '$_POST[deskripsi]', '$_POST[isi]', NOW(), '$gambar')"); } if($tambah) { echo "Data berhasil ditambahkan!"; } else { echo "Data gagal ditambahkan!"; } echo "<hr>";}
5. Kode berikut if($_FILES['gambar']['error'] != 0) digunakan untuk mengecek apakah terdapat file yang diupload. Jika kondisi if bernilai true, berarti tidak ada gambar yang diupload. Jika false, maka ada gambar yang diupload. 'gambar' pada kode di atas adalah atribut name pada form dengan input type berupa file.
6. Jalankan file blog.php dan lihat hasil upload di folder blog.
2. Kemudian tambahkan perintah elseif untuk memproses form edit.
elseif(isset($_GET['act']) AND $_GET['act']=='proses_edit') { if($_FILES['gambar']['error'] != 0) { $edit = mysql_query("UPDATE blog SET judul = '$_POST[judul]', deskripsi = '$_POST[deskripsi]', isi = '$_POST[isi]' WHERE id_blog = '$_POST[id]'"); } else { $tmp_file = $_FILES['gambar']['tmp_name']; $filename = $_FILES['gambar']['name']; $filetype = $_FILES['gambar']['type']; $filesize = $_FILES['gambar']['size']; $destination = 'uploads/blog/' . $filename; if(move_uploaded_file($tmp_file,$destination)){ $gambar = $filename; } $edit = mysql_query("UPDATE blog SET judul = '$_POST[judul]', deskripsi = '$_POST[deskripsi]', isi = '$_POST[isi]', gambar = '$gambar' WHERE id_blog = '$_POST[id]'"); } if($edit) {
echo "Data berhasil diperbaharui!"; } else { echo "Data gagal diperbaharui!"; } echo "<hr>";}
3. Lihat hasilnya di web browser.
MENGHAPUS RECORD
1. Ketika tombol hapus diklik, akan muncul konfirmasi bahwa data akan dihapus.2. Tambahkan perintah elseif untuk menampung parameter act=?hapus.
elseif(isset($_GET['act']) AND $_GET['act']=='hapus') { $hapus = mysql_query("DELETE FROM blog WHERE id_blog = '$_GET[id]'"); if($hapus) { echo "Data berhasil dihapus!"; } else { echo "Data gagal dihapus!"; } echo "<hr>";}
MEMBUAT HALAMAN
1. Buat file PHP baru kemudian simpan dengan nama member.php. Tambahkan header, sidebar, dan footer menggunakan fungsi include().
2. Kemudian tambahkan perintah elseif untuk memproses form edit.
elseif(isset($_GET['act']) AND $_GET['act']=='proses_edit') {
$edit = mysql_query("UPDATE member SET nama_depan = '$_POST[nama_depan]', nama_belakang = '$_POST[nama_belakang]', alamat = '$_POST[alamat]', email = '$_POST[email]', password = '$_POST[password]', telepon = '$_POST[telepon]' WHERE id_member = '$_POST[id]'"); if($edit) { echo "Data berhasil diperbaharui!"; } else { echo "Data gagal diperbaharui!"; } echo "<hr>";}
3. Lihat hasilnya di web browser.
MENGHAPUS RECORD
1. Ketika tombol hapus diklik, akan muncul konfirmasi bahwa data akan dihapus.2. Tambahkan perintah elseif untuk menampung parameter act=?hapus.
elseif(isset($_GET['act']) AND $_GET['act']=='hapus') { $hapus = mysql_query("DELETE FROM member WHERE id_member = '$_GET[id]'"); if($hapus) { echo "Data berhasil dihapus!"; } else { echo "Data gagal dihapus!"; } echo "<hr>";}
MEMBUAT HALAMAN
1. Buat file PHP baru kemudian simpan dengan nama user.php. Tambahkan header, sidebar, dan footer menggunakan fungsi include().
2. Kemudian tambahkan perintah elseif untuk memproses form edit.
elseif(isset($_GET['act']) AND $_GET['act']=='proses_edit') { $edit = mysql_query("UPDATE user SET nama = '$_POST[nama]', password = '$_POST[password]' WHERE id_user = '$_POST[id]'"); if($edit) { echo "Data berhasil diperbaharui!"; } else { echo "Data gagal diperbaharui!"; } echo "<hr>";}
3. Lihat hasilnya di web browser.
MENGHAPUS RECORD
1. Ketika tombol hapus diklik, akan muncul konfirmasi bahwa data akan dihapus.2. Tambahkan perintah elseif untuk menampung parameter act=?hapus.
elseif(isset($_GET['act']) AND $_GET['act']=='hapus') { $hapus = mysql_query("DELETE FROM user WHERE id_user = '$_GET[id]'"); if($hapus) { echo "Data berhasil dihapus!"; } else { echo "Data gagal dihapus!"; } echo "<hr>";}
ISILAH DATA PADA TABEL KATEGORI PRODUK, PRODUK, DAN BLOG MELALUI BACKEND YANG TELAH DIBUAT SEBELUMNYA!