Revisi AnandaTriPutra 4IA12
Revisi AnandaTriPutra 4IA12
PENULISAN ILMIAH
NPM : 50418697
KIA PETSHOP
Tanggal Sidang :-
Tanggal Lulus :-
Menyatakan bahwa tulisan di atas merupakan hasil karya sendiri dan dapat
dipublikasikan sepenuhnya oleh Universitas Gunadarma. Segala kutipan dalam
bentuk apapun telah mengikuti kaidah dan etika yang berlaku. Semua hak cipta dari
logo serta produk yang disebut dalam buku ini adalah milik masing-masing
pemegang haknya, kecuali disebutkan lain. Mengenai isi dan tulisan merupakan
tanggung jawab Penulis, bukan Universitas Gunadarma.
Demikianlah pernyataan ini dibuat dengan sebenarnya dan dengan penuh
kesadaran.
Depok, 2022
ii
LEMBAR PENGESAHAN
KIA PETSHOP
Nama : Ananda Tri Putra Perdana
NPM : 50418697
Tanggal Sidang :
Tanggal Lulus :
Menyetujui,
Pembimbing Koordinator PI
iii
ABSTRAK
Pet shop menurut para ahli adalah suatu tempat penjualan binatang dan segala
keperluannya. Menjelaskan bahwa bisnis Pet Shop adalah bisnis yang sangat
menjanjikan untuk masa kini dan juga bisnis Pet Shop adalah salah satu bisnis yang
mengalami peningkatan dimasa pendemi ini. KIA Pet Shop merupakan usaha yang
baru berdiri ini merupakan usaha yang bergerak dibidang hobi pecinta hewan
khususnya kucing. Dalam bisnisnya Pet Shop menjual berbagai kebutuhan hewan
peliharaan mulai dari makanan kucing, perlengkapan aksesoris hewan termasuk
Litter box. Metode ini membantu pembeli mencari keperluan yang diinginkan
dengan mudah. Perancangan sistem menggunakan Unified Modelling Language,
Bahasa pemrograman PHP dan database MySQL. Penelitian ini menghasilkan
aplikasi Pet Shop website yang dapat memudahkan penjual dan pembeli untuk
bertemu di dalam satu platform.
Daftar Pustaka (2013-2021)
iv
KATA PENGANTAR
Segala puji dan syukur kehadirat Allat SWT yang telah melimpahkan rahmat dan
karunia-Nya, sehingga penulis dapat menyelesaikan Penulisan Ilmiah ini.
Penulisan Ilmiah ini disusun guna melengkapi Sebagian syarat untuk memperoleh
gelar Sarjana Muda Teknik Informatika Universitas Gunadarma. Adapun judul
Penulisan Ilmiah ini adalah " PEMBUATAN WEBSITE E-COMMERCE KIA
PETSHOP ".
Keberhasilan dalam menyelesaikan penulisan ilmiah ini adalah berkat
bantuan dan dukungan dari berbagai pihak serta keteguhan hati penulis, meskipun
banyak hambatan yang dihadapi oleh penulis, namun semua menjadi pelajaran dan
pengalaman yang berkesan.
Dalam kesempatan ini perkenankan penulis menyampaikan ucapan terima
kasih atas segala dukungan dan bantuan yang diterima oleh penulis, sehingga dapat
menyelesaikan penulisan ini. Dan perkenankan penulis mengucapkan terima kasih
kepada :
1. Ibu Prof. Dr. E.S. Margianti, S.E., MM., selaku Rektor Universitas
Gunadarma.
2. Bapak Prof. Dr.-Ing. Adang Suhendra, S.Si., S.Kom., MSc., selaku Dekan
Fakultas Teknologi Industri Universitas Gunadarma.
3. Ibu Dr. Lintang Yuniar Banowosari, S.Kom., M.Sc., selaku Ketua Jurusan
Teknik Informatika Universitas Gunadarma.
4. Bapak Dr. Achmad Fahrurozi, S.Si., M.Si., selaku Koordinator Penulisan
Ilmiah.
5. Ibu Dr. Dharmayanti S.T, MMSI., selaku Dosen Pembimbing.
6. Bapak Muhammad hamdi dan Ibu Rosiah selaku kedua Orang Tua yang
memberikan dukungan serta doa hingga penyusunan penulisan ilmiah
selesai.
7. Aditya Rahman, Aditya Dwi, Marsselus Fransiskus Tue Karang, Lancelot
Erkhan dan Althoofiani Novrizal sebagai pacar yang telah mensupport saya,
v
teman seperjuangan yang telah memberikan bantuan dan semangat selama
penulisan ini berlangsung.
8. Serta teman-teman lainnya yang telah banyak memotivasi, membantu dan
memberikan dukungan di masa- masa sulit selama pembuatan aplikasi dan
penulisan ini.
Penulis ingin mengucapkan terima kasih kepada semua pihak yang tidak
dapat penulis sebutkan satu persatu, atas bantuan, saran, dan masukan yang telah
diberikan kepada penulis.
Oleh karena itu penulis sangat menghargai kritik maupun saran yang
berguna bagi kesempurnaan penyusunan penulisan ilmiah ini. Akhir kata penulis
berharap semoga penulisan ini dapat bermanfaat bagi para pembaca.
Depok, 2022
vi
Daftar Isi
vii
2.9.1 Struktur Navigasi Linear ....................................................................... 14
2.9.2 Struktur Navigasi Hirarki ...................................................................... 15
2.9.3 Struktur Navigasi Non-Linear ............................................................... 15
2.9.4 Struktur Navigasi Composite (Campuran) ........................................... 16
2.10. Black Box Testing .......................................................................................... 16
BAB III ................................................................................................................................ 17
PERANCANGAN DAN IMPLEMENTASI ............................................................................... 17
3.1 Tahap Perencanaan ........................................................................................ 17
3.2 Tahap Analisis ................................................................................................. 17
3.2.1 Analisis Kebutuhan Hardware .............................................................. 17
3.2.2 Analisis Kebutuhan Software ................................................................ 18
3.3 Rancangan Unified Modeling Language (UML) .......................................... 18
3.3.1 Use Case Diagram ................................................................................... 18
3.3.2 Activity Diagram ..................................................................................... 19
3.4 Perancangan Database ......................................................................................... 21
3.5 Rancangan Struktur Navigasi........................................................................ 25
3.5.1 Struktur Navigasi Pelanggan ................................................................. 25
3.5.2 Struktur Navigasi Admin ....................................................................... 27
3.6 Rancangan Program ....................................................................................... 28
3.6.1 Rancangan Halaman Admin ......................................................................... 28
3.6.2 Rancangan Halaman Pelanggan ................................................................... 37
3.7 Implementasi ................................................................................................... 42
3.7.1 Hasil Tampilan Interface Admin .................................................................. 42
3.7.2 Hasil Tampilan Interface Pelanggan ........................................................... 47
3.8 Uji Coba Aplikasi ............................................................................................ 53
BAB IV................................................................................................................................ 56
PENUTUP ........................................................................................................................... 56
4.1 Kesimpulan ............................................................................................................ 56
4.2 Saran ...................................................................................................................... 56
DAFTAR PUSTAKA ............................................................................................................. 57
LAMPIRAN ........................................................................................................................... 1
viii
Daftar Gambar
Gambar 2. 1 Contoh Use Case Diagram ........................................................................... 10
Gambar 2. 2 Contoh Activity Diagram ............................................................................. 11
Gambar 2. 3 Contoh Class Diagram ................................................................................. 13
Gambar 2. 4 Contoh Navigasi ........................................................................................... 14
Gambar 2. 5 Contoh Navigasi Hirarki .............................................................................. 15
Gambar 2. 6 Contoh Navigasi Non-Linear ....................................................................... 16
Gambar 2. 7 Contoh Navigasi Campuran ......................................................................... 16
ix
Gambar 3. 25 Rancangan Halaman Produk SubKategori ................................................. 32
Gambar 3. 26 Rancangan Halaman Data Produk.............................................................. 33
Gambar 3. 27 Rancangan Halaman Laporan Data Produk ............................................... 33
Gambar 3. 28 Rancangan Halaman Laporan Data Produk Berdasarkan Kategori dan
SubKategori ...................................................................................................................... 34
Gambar 3. 29 Rancangan Halaman Laporan Data Pemesanan ......................................... 35
Gambar 3. 30 Rancangan Halaman Laporan Data Pemesanan Berdasarkan Tanggal ...... 36
Gambar 3. 31 Rancangan Halaman Daftar Kontak Pelanggan ......................................... 36
Gambar 3. 32 Rancangan Halaman Daftar ....................................................................... 37
Gambar 3. 33 Rancangan Halaman Masuk/Login ............................................................ 38
Gambar 3. 34 Rancangan Halaman Dashboard ................................................................ 38
Gambar 3. 35 Rancangan Halaman Makanan Kucing ...................................................... 39
Gambar 3. 36 Rancangan Halaman pasir Kucing ............................................................. 39
Gambar 3. 37 Rancangan Halaman Litter Box ................................................................. 40
Gambar 3. 38 Rancangan Halaman Brand ........................................................................ 40
Gambar 3. 39 Rancangan Halaman Keranjang ................................................................. 41
Gambar 3. 40 Rancangan Halaman Konfirmasi Pembayaran ........................................... 41
Gambar 3. 41 Rancangan Halaman Bukti Pembayaran .................................................... 42
Gambar 3. 42 Tampilan Login .......................................................................................... 43
Gambar 3. 43 Tampilan Dashboard .................................................................................. 43
Gambar 3. 44 Tampilan Admin ........................................................................................ 44
Gambar 3. 45 Tampilan Brand.......................................................................................... 44
Gambar 3. 46 Tampilan Kategori ..................................................................................... 45
Gambar 3. 47 Tampilan SubKategori ............................................................................... 45
Gambar 3. 48 Tampilan Data Produk ............................................................................... 45
Gambar 3. 49 Tampilan Laporan Data Produk ................................................................. 46
Gambar 3. 50 Tampilan Laporan Data Produk Berdasarkan Kategori dan SubKategori . 46
Gambar 3. 51 Tampilan Laporan Data Pemesanan ........................................................... 46
Gambar 3. 52 Tampilan Laporan Pemesanan Berdasarkan Tanggal ................................ 47
Gambar 3. 53 Tampilan Daftar Kontak Pelanggan ........................................................... 47
Gambar 3. 54 Tampilan Daftar ......................................................................................... 48
Gambar 3. 55 Tampilan Login .......................................................................................... 49
Gambar 3. 56 Tampilan Dashboard .................................................................................. 49
Gambar 3. 57 Tampilan Makanan Kucing ........................................................................ 50
x
Gambar 3. 58 Tampilan Pasir kucing................................................................................ 50
Gambar 3. 59 Tampilan Litter Box ................................................................................... 51
Gambar 3. 60 Tampilan Brand.......................................................................................... 51
Gambar 3. 61 Tampilan Keranjang ................................................................................... 51
Gambar 3. 62 Tampilan Konfirmasi Pembayaran ............................................................ 52
Gambar 3. 63 Tampilan Bukti .......................................................................................... 52
xi
Daftar Tabel
Tabel 2. 1Tag - Tag pada HTML ........................................................................................ 8
Tabel 2. 2Use Case Diagram............................................................................................. 10
Tabel 2. 3Simbol Simbol Activity Diagram ..................................................................... 12
Tabel 2. 4 Simbol-Simbol Class Diagram ........................................................................ 13
xii
BAB I
PENDAHULUAN
Studi kasus menggunakan toko dengan nama pet shop “KIA”. Pet shop
“KIA” merupakan salah satu pet shop yang terdapat di kota DEPOK di daerah
Depok Timur. Saat ini pet shop “KIA” melakukan transaksi penjualan hanya
dengan cara membuka toko, pet shop “KIA” masih belum banyak dikenal
masyarakat, dan pemilik dari pet shop “KIA” ini ingin mengembangkan pet
shop “KIA” agar menjadi lebih dikenal dan lebih maju. Permasalah yang sudah
disebutkan menjadi acuan dalam membuat sistem informasi untuk pet shop
“KIA”. Sistem informasi pet shop “KIA” dibuat berbasis web, sehingga akan
mudah diakses bagi siapapun yang menggunakan internet. Sistem informasi ini
juga akan mempermudah penjualan peralatan dan makanan pemeliharaan
hewan, mempermudah cara perawatan hewan.
1
2
a. Tahap Perencanaan
Pada tahap ini, melakukan wawancara kepada pihak Petshop guna
mendapatkan informasi mengenai sistem yang berjalan kemudian
mengidentifikasikan kebutuhan apa saja yang dibutuhkan oleh Petshop.
b. Tahap Analisis
Pada tahap ini, rancang bangun aplikasi E-commerce KIA Petshop berbasis
web dapat berjalan sesuai kemampuan pengguna dapat melakukan transaksi
online dan melihat informasi petshop.
3
c. Tahap Perancangan
Pada tahap ini, dilakukan perancangan aplikasi E-commerce KIA Petshop
berbasis web. Perancangan aplikasi terdiri dari perancangan database,
struktur navigasi, dan tampilan aplikasi.
d. Tahap Implementasi
Tahapan ini menggunakan Visual Studio Code sebagai sarana untuk
mengimplementasikan rancangan program. XAMPP digunakan untuk
menampilkan output dari program yang ditulis pada text editor Visual Studio
Code.
e. Tahap Uji Coba
Proses uji coba dilakukan dengan menggunakan metode Blackbox Testing.
Blackbox Testing digunakan karena jika terdapat kesalahan pada aplikasi
dapat langsung diketahui.
BAB I PENDAHULUAN
Mengemukakan dalam penulisan ini mengenai latar belakang, ruang
lingkup, tujuan penelitian, metode penelitian, dan sistematika penulisan.
BAB IV PENUTUP
Bab ini berisi Kesimpulan dari pembahasan yang telah dikemukakan dalam
bab sebelumnya dan saran yang sifatnya mengarah kepada penyempurnaan dari apa
yang telah disajikan dalam tulisan ini.
BAB II
TINJAUAN PUSTAKA
2.1 XAMPP
XAMPP adalah sebuah paket perangkat lunak (software) komputer yang
sistem penamaannya diambil dari akronim kata Apache, MySQL (dulu) / MariaDB
(sekarang), PHP, dan Perl. Sementara imbuhan huruf “X” yang terdapat pada awal
kata berasal dari istilah cross platform sebagai simbol bahwa aplikasi ini bisa
dijalankan di empat sistem operasi berbeda, seperti OS Linux, OS Windows, Mac
OS, dan juga Solaris. Sejarah mencatat, software XAMPP pertama kali
dikembangkan oleh tim proyek bernama Apache Friends dan sampai saat ini sudah
masuk dalam rilis versi 7.3.9 yang bisa didapatkan secara gratis dengan label
(General Public License) GNU (Andy Nugroho. 2019).
2.2 PHP
PHP (PHypertext Preprocessor) adalah sebuah bahasa pemrograman server
side scripting yang bersifat open source. Sebagai sebuah scripting language, PHP
menjalankan instruksi pemrograman saat proses runtime. Hasil dari instruksi tentu
akan berbeda tergantung data yang diproses.
2.3 MYSQL
MySQL adalah sebuah DBMS (Database Management System)
menggunakan perintah SQL (Structured Query Language) yang banyak digunakan
saat ini dalam pembuatan aplikasi berbasis website. MySQL dibagi menjadi dua
lisensi, pertama adalah Free Software dimana perangkat lunak dapat diakses oleh
5
6
siapa saja. Dan kedua adalah Shareware dimana perangkat lunak berpemilik
memiliki batasan dalam penggunaannya.
2.7 HTML
HTML ialah singkatan dari HyperText Markup Languange merupakan
bahasa web atau markup internet yang berasal dari kombinasi antara text dan
informasi berupa simbol atau kode yang akan dimasukan kedalam suatu file guna
membuat suatu halaman situs. Secara singkat mengenal HTML adalah bahasa
markup internet yang berguna untuk membuat suatu website. (Akbar LA, 2019)
HTML sering kali dikaitkan dengan bahasa pemrograman, dan sejatinya HTML
bukanlah bahasa pemrograman, yang berarti HTML tidak bisa membuat
fungsionalitas yang dinamis. HTML merupakan sebuah markup language yang
fleksibel dan dapat digabungkan dengan beberapa bahasa pemrograman lainnya
seperti PHP, JavaScript, dan ASP. Berikut ini adalah tag-tag pada HTML:
8
Tag Keterangan
No
Untuk membuat sebuah dokumen
1 <html>…</html>
HTML
Untuk melihat informasi dokumen
2 <head>…</head>
HTML
Untuk membuat bagian isi dokumen
3 <body>…</body>
HTML
Untuk membuat judul dokumen HTML
4 <title>…</title>
dan dapat dilihat di jendela browser
Tag Keterangan
No
20 <center>…</center> Untuk membuat teks menjadi ditengah
2.8 UML
Unfield Modelling Languege (UML) adalah sebuah bahasa yang telah
menjadi standar dalam industri untuk visualisasi, merancang dan
mendokumentasikan sistem perangkat lunak. UML menawarkan sebuah standar
untuk merancang model sebuah sistem. Dalam menggunakan UML dapat membuat
model untuk beberapa jenis aplikasi, dimana aplikasi tersebut dapat berjalan pada
perangkat keras, sistem operasi dan jaringan apapun (Arismanto, B & Rahmadhani,
S. 2019).
(https://badoystudio.com/contoh-use-case//)
(http://www.waskhas.com/2020/03/pengertian-
activity-diagram.html)
12
1. Laptop-QTK2IOPS
2. procesor yang digunakan AMD RYZEN 3 3250U.
3. RAM yang digunakan sebesar 8192MB.
17
18
Pada use case admin berisi system yang digunakan admin dari login sampai
menerima konfirmasi pesanan user
Pada use case user berisi system user yang digunakan user dari daftar
sampai melihat status transaksi
Gambar 3. 5 XAMPP
<?php
$servername = "localhost";
25
$username = "root";
$password = "";
$dbname = "winhost";
?>
3. Halaman Dashboard
8. Halaman Keranjang
3.7 Implementasi
3.7.1 Hasil Tampilan Interface Admin
1. Login
43
2. Dashboard
3. Pesanan Admin
44
4. Produk Brand
5. Produk Kategori
45
6. Produk Subkategori
7. Data Produk
2. Masuk
49
3. Dashboard
4. Makanan Kucing
5. Pasir Kucing
6. LitterBox
51
7. Brand
8. KeranjangBelanja
9. KonfirmasiPembayaran
10. BuktiKonfirmasi
4.2 Saran
Aplikasi pemesanan KIA PetShop kedepannya dapat dikembangkan lebih
baik lagi seperti adanya penambahan fitur antara lain fitur pembayaran dan tampilan
yang ada dapat dibuat lebih menarik untuk meningkatkan minat pelanggan dalam
melakukan pemesanan
56
DAFTAR PUSTAKA
Wati, Siska Fadhilah, Adian Fatchur Rochim, and Rinta Kridalukmana. "Sistem
Informasi Penjualan dan Pemesanan Layanan Berbasis Web dan SMS Gateway di
Petshop" PetZone"." Jurnal Teknologi dan Sistem Komputer 1.4 (2013): 113-121.
57
LAMPIRAN
• Admin/index.php
• <?php
• error_reporting(E_ALL ^ E_NOTICE);
•
• session_start();
•
• if((isset($_COOKIE['user_id']) && $_COOKIE['user_id'] != '') ||
(isset($_SESSION['user_id']) && $_SESSION['user_id'] != '')){
• header('location: miadmin.php');
• exit();
• }
• ?>
• <!DOCTYPE html>
• <html lang="en">
• <head>
• <!-- meta -->
• <meta charset="utf-8">
• <meta http-equiv="X-UA-Compatible" content="IE=edge">
• <title>Login</title>
• <meta name="keywords" content="animals" />
• <meta name="author" content="Ananda Tri Putra"/>
•
• <!-- mobile specific -->
• <meta name="viewport" content="width=device-width, initial-scale=1" />
•
• <!-- Favicon -->
•
• <!-- CSS Offline -->
• <link rel="stylesheet" type="text/css" href="css/bootstrap.min.css" />
• <link rel="stylesheet" type="text/css" href="css/font-awesome.min.css" />
• <link rel="stylesheet" type="text/css" href="css/miiadmin.css" />
•
• <!-- Le HTML5 shim, for IE6-8 support of HTML5 elements -->
• <!--[if lt IE 9]>
• <script src="js/html5shiv.min.js"></script>
L-1
• <script src="js/respond.min.js"></script>
• <![endif]-->
•
• </head>
• <body class="background-black">
• <?php
• include "connect.php";
•
• switch($_SERVER['QUERY_STRING']){
• default:
• ?>
•
• <div class="container">
• <div class="row">
• <div class="col-sm-6 col-md-4 col-md-offset-4">
• <!-- Logo -->
• <img class="logo-title" src="../logo/kia.png" />
• <!-- Form -->
• <div class="account-wall">
• <?php
•
• $error = false;
• $userErr = $passErr = "";
•
• if(isset($_POST['signin'])){
• $user = trim($_POST['username']);
• $password = md5($_POST['password']);
• $remember = $_POST['remember'];
•
• $user = mysqli_real_escape_string($conn, $user);
• $password = mysqli_real_escape_string($conn, $password);
•
• if($_SERVER['REQUEST_METHOD'] == "POST"){
• if(empty($_POST['username'])){
• $error = true;
• $userErr = "Masukkan isi nama pengguna Anda";
• }
•
• if(empty($_POST['password'])){
• $error = true;
L-2
•
• $error = true;
• $passErr = "Masukkan isi kata sandi";
• }
• }
•
• if(!$error){
• if($user && $password){
•
• $login = mysqli_query($conn,"SELECT * FROM users WHERE
user='".$user."'");
• if(mysqli_num_rows($login) > 0){
• while($row=mysqli_fetch_assoc($login)){
• $id = $row['user_id'];
• $name = $row['fullname'];
• $db_pass = $row['pass'];
• if($password == $db_pass){
• $loginok = TRUE;
• }else{
• $loginok = FALSE;
• }
•
• if($loginok == TRUE){
• if($remember == "on"){
• setcookie("user_id", $id, time() + (86400*30));
• setcookie("fullname", $name, time() + (86400*30));
• setcookie("user", $user, time() + (86400*30));
• }elseif($remember == ""){
• $_SESSION['user_id'] = $id;
• $_SESSION['fullname'] = $name;
L-3
• $_SESSION['user'] = $user;
• }
• echo "<meta http-equiv='refresh' content='0;
url=miadmin.php'>";
• }else{
• $error = true;
• echo "<div class='alert alert-danger'>Nama pengguna dan
kata sandi Anda salah, silakan coba lagi!</div>";
• }
• }
• }else{
• $error = true;
• echo "<div class='alert alert-danger'>Mohon maaf data Anda
tidak di temukan!</div>";
• }
• }
• }
•
• }
• ?>
• <form action="index.php" method="post">
• <div class="form-group input-group groups">
• <span class="input-group-addon icons"><i class="fa fa-
user"></i></span>
• <input type="text" class="form-control form-input"
name="username" placeholder="Masukkan isi nama pengguna Anda">
• </div>
• <span class="text-danger msg-error"><?php echo $userErr; ?></span>
•
• <div class="form-group input-group groups">
• <span class="input-group-addon icons"><i class="fa fa-
lock"></i></span>
• <input type="password" class="form-control form-input" id="form-
password" name="password" placeholder="Masukkan isi kata sandi">
• </div>
• <div class="checkboxcss" style="color:#FFF; float:right; margin-
bottom:2%;"><input type="checkbox" onchange="document.getElementById('form-
password').type = this.checked ? 'text' : 'password'">Lihat Kata Sandi</div>
• <span class="text-danger msg-error"><?php echo $passErr; ?></span>
•
• <button type="submit" class="btn btn-lg btn-primary btn-block"
name="signin">Masuk</button>
• </form>
• </div>
L-4
• <p class="text-center new-account"><a href="?resetuser">Reset Kata
Sandi</a></p>
• </div>
• </div>
• </div>
• <?php
• break;
• case 'signup';
• ?>
• <div class="container">
• <div class="row">
• <div class="col-sm-6 col-md-4 col-md-offset-4">
• <!-- Logo -->
• <img class="logo-title" src="../logo/miistore3.png" />
• <!-- Form -->
• <div class="account-wall">
• <?php
• $error = false;
• $name = $user = $pass = "";
• $nameErr = $userErr = $passErr = $cpassErr = "";
•
• if(isset($_POST['signup'])){
• $query = mysqli_query($conn,"SELECT * FROM users WHERE
user='".$_POST['user']."'");
•
• if($_SERVER['REQUEST_METHOD'] == "POST"){
• if(empty($_POST['fullname'])){
• $error = true;
• $nameErr = "Masukkan isi nama lengkap Anda";
• }else{
• $name = $_POST['fullname'];
• if(!preg_match("/^[a-zA-Z .\-']*$/",$_POST['fullname'])){
• $error = true;
• $nameErr = "Isi nama lengkap harus menggunakan huruf, karakter
dan spasi";
• }
• }
•
• if(empty($_POST['user'])){
• $error = true;
• $userErr = "Masukkan isi nama pengguna Anda";
• }else{
• $user = $_POST['user'];
• if(!preg_match("/^[a-z0-9]*$/",$_POST['user'])){
• $error = true;
L-5
• $userErr = "Isi nama pengguna harus menggunakan huruf kecil
dan angka";
• }
• }
•
• if(empty($_POST['pass'])){
• $error = true;
• $passErr = "Masukkan isi kata sandi baru";
• }else{
• $pass = md5($_POST['pass']);
• if(strlen($_POST['pass']) < 6){
• $error = true;
• $passErr = "Isi kata sandi harus minimal 6 karakter";
• }
• }
•
• if(empty($_POST['cpass'])){
• $error = true;
• $cpassErr = "Masukkan isi konfirmasi kata sandi";
• }else{
• if($_POST['pass'] != $_POST['cpass']){
• $error = true;
• $cpassErr = "Kata sandi dan konfirmasi kata sandi tidak cocok";
• }
• }
• }
•
• if(!$error){
• $name = mysqli_real_escape_string($conn, $name);
• $user = mysqli_real_escape_string($conn, $user);
• $pass = mysqli_real_escape_string($conn, $pass);
• if(mysqli_num_rows($query) > 0){
• echo "<div class='alert alert-danger'>Nama pengguna sudah masih
ada, mohon di buat yang lain!</div>";
• }else{
• mysqli_query($conn,"INSERT INTO users VALUES
(null,'$name','$user','$pass')");
• echo "<meta http-equiv='refresh' content='0; url=index.php'>";
• }
• }
• }
• ?>
• <form action="?signup" method="post">
• <div class="form-group input-group groups">
L-6
• <span class="input-group-addon icons"><i class="fa fa-
user"></i></span>
• <input type="text" class="form-control form-input"
name="fullname" placeholder="Masukkan nama lengkap Anda">
• </div>
• <span class="text-danger msg-error"><?php echo $nameErr;
?></span>
•
• <div class="form-group input-group groups">
• <span class="input-group-addon icons"><i class="fa fa-
user"></i></span>
• <input type="text" class="form-control form-input" name="user"
placeholder="Masukkan nama pengguna Anda">
• </div>
• <span class="text-danger msg-error"><?php echo $userErr; ?></span>
•
• <div class="form-group input-group groups">
• <span class="input-group-addon icons"><i class="fa fa-
key"></i></span>
• <input type="password" class="form-control form-input"
name="pass" placeholder="Masukkan kata sandi">
• </div>
• <span class="text-danger msg-error"><?php echo $passErr; ?></span>
•
• <div class="form-group input-group groups">
• <span class="input-group-addon icons"><i class="fa fa-
lock"></i></span>
• <input type="password" class="form-control form-input"
name="cpass" placeholder="Ulangi kata sandi lagi">
• </div>
• <span class="text-danger msg-error"><?php echo $cpassErr;
?></span>
•
• <button type="submit" class="btn btn-lg btn-primary btn-block"
name="signup">Daftar</button>
• </form>
• </div>
• <p class="text-center new-account">Pernah jadi anggota? <a
href="/miistore/miiadmin">Masuk</a></p>
• </div>
• </div>
• </div>
• <?php
• break;
• case "resetuser";
L-7
• ?>
• <div class="container">
• <div class="row">
• <div class="col-sm-6 col-md-4 col-md-offset-4">
• <!-- Logo -->
• <img class="logo-title" src="../logo/miistore3.png" />
• <!-- Form -->
• <div class="account-wall">
• <?php
• $error = false;
• $user = "";
• $userErr = "";
•
• if(isset($_POST['reset'])){
• if($_SERVER['REQUEST_METHOD'] == "POST"){
• if(empty($_POST['user'])){
• $error = true;
• $userErr = "Masukkan isi nama pengguna Anda";
• }else{
• $user = $_POST['user'];
• if(!preg_match("/^[a-z0-9]*$/",$_POST['user'])){
• $error = true;
• $userErr = "Isi nama pengguna harus menggunakan huruf kecil
dan angka";
• }
• }
• }
•
• if(!$error){
• if($user){
• $login = mysqli_query($conn,"SELECT * FROM users WHERE
user='".$user."'");
• $result = mysqli_num_rows($login);
• if($result > 0){
• session_start();
• $_SESSION['username'] = $user;
• echo "<meta http-equiv='refresh' content='0; url=reset.php'>";
• }else{
• $error = true;
• echo "<div class='alert alert-danger'>Nama pengguna Anda
salah, silakan coba lagi!</div>";
• }
• }
• }
• }
L-8
• ?>
• <form action="?resetuser" method="post">
• <div class="form-group input-group groups">
• <span class="input-group-addon icons"><i class="fa fa-
user"></i></span>
• <input type="text" class="form-control form-input" name="user"
placeholder="Masukkan isi nama pengguna Anda">
• </div>
• <span class="text-danger msg-error"><?php echo $userErr; ?></span>
•
• <button type="submit" class="btn btn-lg btn-primary btn-block"
name="reset">Reset</button>
• </form>
• </div>
• <p class="text-center new-account">Pernah jadi anggota? <a
href="index.php">Masuk</a></p>
• </div>
• </div>
• </div>
• <?php
• break;
• }
• ?>
•
• <!-- JS Offline -->
• <script src="js/jquery.min.js"></script>
• <script src="js/bootstrap.min.js"></script>
• <script type="text/javascript" src="js/custom.js"></script>
•
• </body>
• </html>
• Dashboard/miadmin.php
• <?php
• require_once("connect.php");
•
• session_start();
•
• if(isset($_COOKIE['user_id']) && $_COOKIE['user_id'] != ''){
• $id = $_COOKIE['user_id'];
• }else if(isset($_SESSION['user_id']) && $_SESSION['user_id'] != ''){
• $id = $_SESSION['user_id'];
• }else{
• header('location: index.php');
• exit();
L-9
• }
• ?>
• <!DOCTYPE html>
• <html lang="en">
• <head>
• <!-- meta -->
• <meta charset="utf-8">
• <meta http-equiv="X-UA-Compatible" content="IE=edge">
• <title>Kia Petshop | Dashboard</title>
• <meta name="keywords" content="animals" />
• <meta name="author" content="Ananda Tri Putra"/>
•
• <!-- mobile specific -->
• <meta name="viewport" content="width=device-width, shrink-to-fit=no, initial-
scale=1" />
•
• <!-- Favicon -->
•
• <!-- CSS Offline -->
• <link rel="stylesheet" type="text/css" href="css/bootstrap.min.css" />
• <link rel="stylesheet" type="text/css" href="css/font-awesome.min.css" />
• <link rel="stylesheet" type="text/css" href="css/miiadmin.css" />
•
• <!-- Le HTML5 shim, for IE6-8 support of HTML5 elements -->
• <!--[if lt IE 9]>
• <script src="js/html5shiv.min.js"></script>
• <script src="js/respond.min.js"></script>
• <![endif]-->
•
• </head>
• <body>
• <?php
• $query = mysqli_query($conn, "SELECT * FROM users WHERE user_id =
'".$id."'");
• $data = mysqli_fetch_array($query);
• ?>
• <nav class="navbar navbar-inverse navbar-fixed-top" role="navigation">
• <div class="container-fluid">
• <div class="navbar-header">
• <a href="#main-toggle" id="menu-toggle" class="sidebar-toggle">
• <span class="sr-only">Toggle Navigation</span>
• </a>
• <a href="#" class="navbar-brand"><img src="../logo/kia.png" /></a>
• </div>
•
L-10
• <ul class="nav navbar-nav navbar-right">
• <li class="dropdown user-menu">
• <a class="dropdown-toggle" data-toggle="dropdown">
• <i class="fa fa-users"></i> <?php echo $data['fullname']; ?> <span
class="caret"></span>
• </a>
• <ul class="dropdown-menu" role="menu">
• <li><a href="profil.php?id=<?php echo $id;?>"><i class="fa fa-
user"></i> Profil</a></li>
• <li><a href="logout.php"><i class="fa fa-sign-out"></i>
Keluar</a></li>
• </ul>
• </li>
• </ul>
• </div>
• </nav>
•
• <div id="wrapper">
• <nav id="sidebar-wrapper">
• <ul class="sidebar-nav">
• <li class="active"><a href="miadmin.php"><i class="fa fa-dashboard"></i>
Beranda</a></li>
• <li><a href="order_confirmation.php"><i class="fa fa-shopping-cart"></i>
Pesanan</a></li>
• <li class="sidebar-child"><a href="#"><i class="fa fa-th"></i> Produk
Manager <i class="sidebar-fa fa fa-angle-down pull-right"></i></a>
• <ul class="sidebar-second-child">
• <li><a href="brands.php">Produk Brand</a></li>
• <li><a href="categories.php">Produk Kategori</a></li>
• <li><a href="subcategories.php">Produk Subkategori</a></li>
• <li><a href="product.php">Data Produk</a></li>
• </ul>
• </li>
• <li class="sidebar-child"><a href="#"><i class="fa fa-th"></i> Laporan <i
class="sidebar-fa fa fa-angle-down pull-right"></i></a>
• <ul class="sidebar-second-child">
• <li><a href="item_report.php">Laporan Data Produk</a></li>
• <li><a href="item_catsubcat_report.php">Laporan Data Produk
Berdasarkan Kategori / Subkategori</a></li>
• <li><a href="order_report.php">Laporan Data Pemesanan</a></li>
• <li><a href="order_report_bydate.php">Laporan Data Pemesanan
Berdasarkan Tanggal</a></li>
• <li><a href="customer_report.php">Daftar Kontak
Pelanggan</a></li>
• </ul>
L-11
• </li>
• </ul>
• </nav>
• <?php
• include "connect.php";
• $sql = "SELECT (
• SELECT counter_visit FROM counter WHERE DATE(counter_date) =
DATE(CURRENT_DATE)
• ) AS today,
• (SELECT counter_visit FROM counter WHERE DATE(counter_date) =
DATE(CURRENT_DATE - INTERVAL 1 DAY)
• ) AS yesterday,
• (SELECT SUM(counter_visit) FROM counter WHERE
WEEKOFYEAR(counter_date) = WEEKOFYEAR(CURRENT_DATE - INTERVAL
1 WEEK)
• ) AS last_week,
• (SELECT SUM(counter_visit) FROM counter WHERE
WEEKOFYEAR(counter_date) = WEEKOFYEAR(CURRENT_DATE)
• ) AS this_week,
• (SELECT SUM(counter_visit) FROM counter WHERE
MONTH(counter_date) = MONTH(CURRENT_DATE) AND YEAR(counter_date)
= YEAR(CURRENT_DATE)
• ) AS this_month,
• (SELECT SUM(counter_visit) FROM counter WHERE
YEAR(counter_date) = YEAR(CURRENT_DATE)
• ) AS this_year";
• $query = mysqli_query($conn, $sql);
• $visit = mysqli_fetch_array($query);
• ?>
• <div id="page-content-wrapper">
• <div class="container-fluid">
• <div class="row">
• <div class="col-lg-12">
• <legend>Dashboard</legend>
• <div class="col-lg-2 col-xs-6 counters">
• <i class="fa fa-user"></i> Total Pengunjung Hari Ini
• <div class="counter_hit">
• <?php
• if(!empty($visit['today'])){
• echo $visit['today'];
• } else {
• echo '0';
• }
• ?>
• </div>
L-12
• </div>
• <div class="col-lg-2 col-xs-6 counters">
• <i class="fa fa-user"></i> Total Pengunjung Kemarin</span>
• <div class="counter_hit">
• <?php
• if(!empty($visit['yesterday'])){
• echo $visit['yesterday'];
• } else {
• echo '0';
• }
• ?>
• </div>
• </div>
• <div class="col-lg-2 col-xs-6 counters">
• <i class="fa fa-user"></i> Total Pengunjung Minggu Lalu</span>
• <div class="counter_hit">
• <?php
• if(!empty($visit['last_week'])){
• echo $visit['last_week'];
• } else {
• echo '0';
• }
• ?>
• </div>
• </div>
• <div class="col-lg-2 col-xs-6 counters">
• <i class="fa fa-user"></i> Total Pengunjung Minggu Ini</span>
• <div class="counter_hit">
• <?php
• if(!empty($visit['this_week'])){
• echo $visit['this_week'];
• } else {
• echo '0';
• }
• ?>
• </div>
• </div>
• <div class="col-lg-2 col-xs-6 counters">
• <i class="fa fa-user"></i> Total Pengunjung Bulan Ini</span>
• <div class="counter_hit">
• <?php
• if(!empty($visit['this_month'])){
• echo $visit['this_month'];
• } else {
• echo '0';
L-13
• }
• ?>
• </div>
• </div>
• <div class="col-lg-2 col-xs-6 counters">
• <i class="fa fa-user"></i> Total Pengunjung Tahun Ini</span>
• <div class="counter_hit">
• <?php
• if(!empty($visit['this_year'])){
• echo $visit['this_year'];
• } else {
• echo '0';
• }
• ?>
• </div>
• </div>
• </div>
• </div>
• </div>
•
• </div>
• </div>
•
• <footer class="footer-bottom">
• <div class="footer-right">
• © <?php echo date ("Y")?> Kia Petshop
• </div>
• <div class="clearfix"></div>
• </footer>
•
• <!-- JS Offline -->
• <script type="text/javascript" src="js/jquery.min.js"></script>
• <script type="text/javascript" src="js/bootstrap.min.js"></script>
• <script type="text/javascript" src="js/custom.js"></script>
•
• </body>
• </html>
•
• ProfilAdmin/profil.php
• <?php
• require_once("connect.php");
•
• session_start();
L-14
• ob_start();
•
• if(isset($_COOKIE['user_id']) && $_COOKIE['user_id'] != ''){
• $id = $_COOKIE['user_id'];
• }else if(isset($_SESSION['user_id']) && $_SESSION['user_id'] != ''){
• $id = $_SESSION['user_id'];
• }else{
• header('location: index.php');
• exit();
• }
• ?>
• <!DOCTYPE html>
• <html lang="en">
• <head>
• <!-- meta -->
• <meta charset="utf-8">
• <meta http-equiv="X-UA-Compatible" content="IE=edge">
• <title>Kia Petshop | Profil Saya</title>
• <meta name="keywords" content="animals" />
• <meta name="author" content="Ananda Tri Putra"/>
•
• <!-- mobile specific -->
• <meta name="viewport" content="width=device-width, shrink-to-fit=no, initial-
scale=1" />
•
• <!-- Favicon -->
•
• <!-- CSS Offline -->
• <link rel="stylesheet" type="text/css" href="css/bootstrap.min.css" />
• <link rel="stylesheet" type="text/css" href="css/font-awesome.min.css" />
• <link rel="stylesheet" type="text/css" href="css/miiadmin.css" />
•
• <!-- Le HTML5 shim, for IE6-8 support of HTML5 elements -->
• <!--[if lt IE 9]>
• <script src="js/html5shiv.min.js"></script>
• <script src="js/respond.min.js"></script>
• <![endif]-->
•
• </head>
• <body>
• <?php
• $ids = $_GET['id'];
• $query = mysqli_query($conn, "SELECT * FROM users WHERE user_id =
'".$ids."'");
• $data = mysqli_fetch_array($query);
L-15
• ?>
• <nav class="navbar navbar-inverse navbar-fixed-top" role="navigation">
• <div class="container-fluid">
• <div class="navbar-header">
• <a href="#main-toggle" id="menu-toggle" class="sidebar-toggle">
• <span class="sr-only">Toggle Navigation</span>
• </a>
• <a href="#" class="navbar-brand"><img src="../logo/kia.png" /></a>
• </div>
•
• <ul class="nav navbar-nav navbar-right">
• <li class="dropdown user-menu">
• <a class="dropdown-toggle" data-toggle="dropdown">
• <i class="fa fa-users"></i> <?php echo $data['fullname']; ?> <span
class="caret"></span>
• </a>
• <ul class="dropdown-menu" role="menu">
• <li><a href="#"><i class="fa fa-user"></i> Profil</a></li>
• <li><a href="logout.php"><i class="fa fa-sign-out"></i>
Keluar</a></li>
• </ul>
• </li>
• </ul>
• </div>
• </nav>
•
• <div id="wrapper">
• <nav id="sidebar-wrapper">
• <ul class="sidebar-nav">
• <li><a href="miadmin.php"><i class="fa fa-dashboard"></i>
Beranda</a></li>
• <li><a href="order_confirmation.php"><i class="fa fa-shopping-cart"></i>
Pesanan</a></li>
• <li class="sidebar-child"><a href="#"><i class="fa fa-th"></i> Produk
Manager <i class="sidebar-fa fa fa-angle-down pull-right"></i></a>
• <ul class="sidebar-second-child">
• <li><a href="brands.php">Produk Brand</a></li>
• <li><a href="categories.php">Produk Kategori</a></li>
• <li><a href="subcategories.php">Produk Subkategori</a></li>
• <li><a href="product.php">Data Produk</a></li>
• </ul>
• </li>
• <li class="sidebar-child"><a href="#"><i class="fa fa-th"></i> Laporan <i
class="sidebar-fa fa fa-angle-down pull-right"></i></a>
• <ul class="sidebar-second-child">
L-16
• <li><a href="item_report.php">Laporan Data Produk</a></li>
• <li><a href="item_catsubcat_report.php">Laporan Data Produk
Berdasarkan Kategori / Subkategori</a></li>
• <li><a href="order_report.php">Laporan Data Pemesanan</a></li>
• <li><a href="order_report_bydate.php">Laporan Data Pemesanan
Berdasarkan Tanggal</a></li>
• <li><a href="customer_report.php">Daftar Kontak
Pelanggan</a></li>
• </ul>
• </li>
• </ul>
• </nav>
• <?php
• include "connect.php";
•
• $act = @$_GET['act'];
•
• switch($act){
• default:
• ?>
• <div id="page-content-wrapper">
• <div class="container-fluid">
• <div class="row">
• <div class="col-lg-12">
• <?php
•
• $error = false;
• $nama = $user = "";
• $namaErr = $userErr = "";
•
• if(isset($_POST['update'])){
•
• if($_SERVER['REQUEST_METHOD'] == "POST"){
• if(empty($_POST['fullname'])){
• $error = true;
• $namaErr = "Masukkan isi nama lengkap Anda";
• }else{
• $nama =
mysqli_real_escape_string($conn,$_POST['fullname']);
• if(!preg_match("/^[a-zA-Z .\-']*$/",$_POST['fullname'])){
• $error = true;
• $namaErr = "Isi nama lengkap harus menggunakan huruf,
karakter dan spasi";
• }
• }
L-17
•
• if(empty($_POST['user'])){
• $error = true;
• $userErr = "Please enter an Username";
• }else{
• $user = mysqli_real_escape_string($conn,$_POST['user']);
• if(!preg_match("/^[a-z0-9]*$/",$_POST['user'])){
• $error = true;
• $userErr = "Isi nama pengguna harus menggunakan huruf
kecil dan angka";
• }
• }
• }
•
• if(!$error){
• mysqli_query($conn,"UPDATE users SET
fullname='$nama',user='$user' WHERE user_id='".$id."'");
• header('location: miadmin.php');
• }
• }
• ?>
• <form action="profil.php?id=<?php echo $_GET['id'];?>" class="form-
horizontal" method="POST">
• <legend>Profil</legend>
• <!-- Full Name -->
• <div class="form-group">
• <label class="col-md-2 control-label">Nama Lengkap Anda
<i>(required)</i></label>
• <div class="col-md-10">
• <input type="text" name="fullname" value="<?php echo
isset($_POST['fullname']) ? $_POST['fullname'] : $data['fullname']; ?>" class="form-
control">
• <input type="hidden" name="id" value="<?php echo
$_GET['id']; ?>">
• <span class="text-danger"><?php echo $namaErr ; ?></span>
• </div>
• </div>
• <!-- Username -->
• <div class="form-group">
• <label class="col-md-2 control-label">Nama Pengguna
<i>(required)</i></label>
• <div class="col-md-10">
• <input type="text" name="user" value="<?php echo
isset($_POST['user']) ? $_POST['user'] : $data['user']; ?>" class="form-control">
• <span class="text-danger"><?php echo $userErr; ?></span>
L-18
• </div>
• </div>
• <!-- Button -->
• <div class="form-group">
• <label class="col-md-2 control-label"></label>
• <div class="col-md-10">
• <button type="submit" class="btn btn-warning"
name="update">Ubah Profil</button>
• <a href="miadmin.php"><button type="button" class="btn btn-
link">Batal</button></a>
• </div>
• </div>
• </form>
• <p class="text-center">Apakah Anda yakin menghapus akun ini? <a
href="?act=delete">Hapus Akun Anda</a></p>
• </div>
• </div>
• </div>
• </div>
• <?php
• break;
• case 'delete':
• ?>
• <div id="page-content-wrapper">
• <div class="container-fluid">
• <div class="row">
• <div class="col-lg-12">
• <h1>Hapus Akun Anda</h1>
• <b>Yakin ingin menonaktifkan akun Anda?</b><br/>
• <p>Jika akun Anda dinonaktifkan, profil Anda akan dihapus
selamanya. <br/>
• <form action="?act=delete" method="POST" style="margin-bottom:
5%;">
• <input type="submit" class="btn btn-warning" name="deactivated"
value="Tutup Akun"/>
• <a href="miadmin.php"><button type="button" class="btn btn-
link">Tidak</button></a>
• </form>
• <?php
• if(isset($_POST['deactivated'])){
• $query = "DELETE FROM users WHERE user_id = '".$id."'";
• if(!$res = mysqli_query($conn,$query)){
• exit(mysqli_error());
• }
• setcookie('user_id','', time() - 3600);
L-19
• session_destroy();
•
• echo "<meta http-equiv='refresh' content='0; url=index.php'>";
• }
• ?>
• </div>
• </div>
• </div>
• </div>
• <?php
• break;
• }
• ?>
• </div>
•
• <footer class="footer-bottom">
• <div class="footer-right">
• © <?php echo date ("Y")?> Kia Petshop
• </div>
• <div class="clearfix"></div>
• </footer>
•
• <!-- JS Offline -->
• <script type="text/javascript" src="js/jquery.min.js"></script>
• <script type="text/javascript" src="js/bootstrap.min.js"></script>
• <script type="text/javascript" src="js/custom.js"></script>
•
• </body>
• </html>
• <?php ob_end_flush(); ?>
• ResetKataSandi/reset.php
• <?php
• error_reporting(E_ALL ^ E_NOTICE);
•
• session_start();
•
• include "connect.php";
•
• if(isset($_SESSION['username']) && $_SESSION['username'] != ''){
• $user = $_SESSION['username'];
• }else{
• header('location: index.php');
• exit();
• }
L-20
•
• ?>
• <!DOCTYPE html>
• <html lang="en">
• <head>
• <!-- meta -->
• <meta charset="utf-8">
• <meta http-equiv="X-UA-Compatible" content="IE=edge">
• <title>Kia Petshop | Reset kata sandi</title>
• <meta name="keywords" content="animals" />
• <meta name="author" content="Ananda Tri Putra"/>
•
• <!-- mobile specific -->
• <meta name="viewport" content="width=device-width, initial-scale=1" />
•
• <!-- Favicon -->
•
• <!-- CSS Offline -->
• <link rel="stylesheet" type="text/css" href="css/bootstrap.min.css" />
• <link rel="stylesheet" type="text/css" href="css/font-awesome.min.css" />
• <link rel="stylesheet" type="text/css" href="css/miiadmin.css" />
•
• <!-- Le HTML5 shim, for IE6-8 support of HTML5 elements -->
• <!--[if lt IE 9]>
• <script src="js/html5shiv.min.js"></script>
• <script src="js/respond.min.js"></script>
• <![endif]-->
•
• </head>
• <body class="background-black">
• <div class="container">
• <div class="row">
• <div class="col-sm-6 col-md-4 col-md-offset-4">
• <!-- Logo -->
• <img class="logo-title" src="../logo/miistore3.png" />
• <!-- Form -->
• <div class="account-wall">
• <?php
• $error = false;
• $pass = "";
• $passErr = $cpassErr = "";
•
• if(isset($_POST['newpass'])){
• if($_SERVER['REQUEST_METHOD'] == "POST"){
• if(empty($_POST['pass'])){
L-21
• $error = true;
• $passErr = "Masukkan isi kata sandi baru";
• }else{
• $pass = md5($_POST['pass']);
• if(strlen($_POST['pass']) < 6){
• $error = true;
• $passErr = "Isi kata sandi harus minimal 6 karakter";
• }
• }
•
• if(empty($_POST['cpass'])){
• $error = true;
• $cpassErr = "Masukkan isi konfirmasi kata sandi";
• }else{
• if($_POST['pass'] != $_POST['cpass']){
• $error = true;
• $cpassErr = "Kata sandi dan konfirmasi kata sandi tidak
cocok";
• }
• }
• }
•
• if(!$error){
• mysqli_query($conn,"UPDATE users SET pass='".$pass."' WHERE
user='".$user."'");
• $error = true;
• echo "<div class='alert alert-success'>Kata sandi Anda berhasil di
ubah</div>";
• }
• }
• ?>
• <form action="reset.php" method="post">
• <div class="form-group input-group groups">
• <span class="input-group-addon icons"><i class="fa fa-
key"></i></span>
• <input type="password" class="form-control form-input"
name="pass" placeholder="Masukkan isi kata sandi baru">
• </div>
• <span class="text-danger msg-error"><?php echo $passErr; ?></span>
•
• <div class="form-group input-group groups">
• <span class="input-group-addon icons"><i class="fa fa-
lock"></i></span>
• <input type="password" class="form-control form-input"
name="cpass" placeholder="Ulangi kata sandi lagi">
L-22
• </div>
• <span class="text-danger msg-error"><?php echo $cpassErr;
?></span>
•
• <button type="submit" class="btn btn-lg btn-primary btn-block"
name="newpass">Ubah Kata Sandi</button>
• </form>
• </div>
• <p class="text-center new-account">Pernah jadi anggota? <a
href="index.php">Masuk</a></p>
• </div>
• </div>
• </div>
• <!-- JS Offline -->
• <script type="text/javascript" src="js/jquery.min.js"></script>
• <script type="text/javascript" src="js/bootstrap.min.js"></script>
• <script type="text/javascript" src="js/custom.js"></script>
•
• </body>
• </html>
• Kategori/categories.php
• <?php
• require_once("connect.php");
•
• ob_start();
• session_start();
•
• if(isset($_COOKIE['user_id']) && $_COOKIE['user_id'] != ''){
• $id = $_COOKIE['user_id'];
• }else if(isset($_SESSION['user_id']) && $_SESSION['user_id'] != ''){
• $id = $_SESSION['user_id'];
• }else{
• header('location: index.php');
• exit();
• }
• ?>
• <!DOCTYPE html>
• <html lang="en">
• <head>
• <!-- meta -->
• <meta charset="utf-8">
• <meta http-equiv="X-UA-Compatible" content="IE=edge">
• <title>Kia Petshop | Kategori</title>
L-23
• <meta name="keywords" content="animals" />
• <meta name="author" content="Ananda Tri Putra"/>
•
• <!-- mobile specific -->
• <meta name="viewport" content="width=device-width, shrink-to-fit=no, initial-
scale=1" />
•
• <!-- Favicon -->
•
• <!-- CSS Offline -->
• <link rel="stylesheet" type="text/css" href="css/bootstrap.min.css" />
• <link rel="stylesheet" type="text/css" href="css/font-awesome.min.css" />
• <link rel="stylesheet" type="text/css" href="css/miiadmin.css" />
• <link rel="stylesheet" type="text/css" href="css/jquery.dataTables.css" />
•
• <!-- Le HTML5 shim, for IE6-8 support of HTML5 elements -->
• <!--[if lt IE 9]>
• <script src="js/html5shiv.min.js"></script>
• <script src="js/respond.min.js"></script>
• <![endif]-->
•
• </head>
• <body>
• <?php
• $queryname = mysqli_query($conn, "SELECT * FROM users WHERE user_id =
'".$id."'");
• $name = mysqli_fetch_array($queryname);
• ?>
• <nav class="navbar navbar-inverse navbar-fixed-top" role="navigation">
• <div class="container-fluid">
• <div class="navbar-header">
• <a href="#main-toggle" id="menu-toggle" class="sidebar-toggle">
• <span class="sr-only">Toggle Navigation</span>
• </a>
• <a href="#" class="navbar-brand"><img src="../logo/kia.png" /></a>
• </div>
•
• <ul class="nav navbar-nav navbar-right">
• <li class="dropdown user-menu">
• <a class="dropdown-toggle" data-toggle="dropdown">
• <i class="fa fa-users"></i> <?php echo $name['fullname']; ?> <span
class="caret"></span>
• </a>
• <ul class="dropdown-menu" role="menu">
• <li><a href="#"><i class="fa fa-user"></i> Profil</a></li>
L-24
• <li><a href="logout.php"><i class="fa fa-sign-out"></i>
Keluar</a></li>
• </ul>
• </li>
• </ul>
• </div>
• </nav>
•
• <div id="wrapper">
• <aside id="sidebar-wrapper">
• <ul class="sidebar-nav">
• <li><a href="miadmin.php"><i class="fa fa-dashboard"></i>
Beranda</a></li>
• <li><a href="order_confirmation.php"><i class="fa fa-shopping-cart"></i>
Pesanan</a></li>
• <li class="sidebar-child"><a href="#"><i class="fa fa-th"></i> Produk
Manager <i class="sidebar-fa fa fa-angle-down pull-right"></i></a>
• <ul class="sidebar-second-child" style="display:block;">
• <li><a href="brands.php">Produk Brand</a></li>
• <li class="active"><a href="categories.php"></i> Produk
Kategori</a></li>
• <li><a href="subcategories.php">Produk Subkategori</a></li>
• <li><a href="product.php">Data Produk</a></li>
• </ul>
• </li>
• <li class="sidebar-child"><a href="#"><i class="fa fa-th"></i> Laporan <i
class="sidebar-fa fa fa-angle-down pull-right"></i></a>
• <ul class="sidebar-second-child">
• <li><a href="item_report.php">Laporan Data Produk</a></li>
• <li><a href="item_catsubcat_report.php">Laporan Data Produk
Berdasarkan Kategori / Subkategori</a></li>
• <li><a href="order_report.php">Laporan Data Pemesanan</a></li>
• <li><a href="order_report_bydate.php">Laporan Data Pemesanan
Berdasarkan Tanggal</a></li>
• <li><a href="customer_report.php">Daftar Kontak
Pelanggan</a></li>
• </ul>
• </li>
•
• </ul>
• </aside>
• <?php
• include "connect.php";
•
• $act = @$_GET['act'];
L-25
•
• switch($act){
• default:
•
• ?>
• <div id="page-content-wrapper">
• <div class="container-fluid">
• <div class="row">
• <div class="col-lg-12">
• <h1>Kategori</h1>
• <a href="?act=add" class="btn btn-default"><i class="fa fa-plus"></i>
Tambah Baru</a>
• <div class="clearfix"></div>
•
• <div class="table-responsive" style="margin-top:10px;">
• <table id="data" class="table table-bordered results">
• <thead>
• <tr>
• <th width="10">#</th>
• <th>Nama Kategori</th>
• <th>Edit</th>
• <th>Hapus</th>
• </tr>
• </thead>
• <tbody>
• <?php
• $sql = "SELECT * FROM categories";
• $query = mysqli_query($conn, $sql);
• $no = 0;
• while($row = mysqli_fetch_assoc($query)){
• ?>
• <tr>
• <td width="10" align="center"><?php echo ++$no; ?></td>
• <td><?php echo $row['category']; ?></td>
• <td width="50" align="center">
• <a href="?act=edit&id=<?php echo $row['cat_id']; ?>"
class="mybtn"><i class="fa fa-pencil-square-o"></i></a>
• </td>
• <td width="50" align="center">
• <a href="<?php echo $row['cat_id']; ?>" data-
target="#confirm-delete_<?php echo $row['cat_id']; ?>" data-toggle="modal"
class="mybtn btn-show"><i class="fa fa-trash-o"></i></a>
• <div class="modal fade" id="confirm-delete_<?php echo
$row['cat_id']; ?>" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"
aria-hidden="true">
L-26
• <div class="modal-dialog">
• <div class="modal-content">
• <div class="modal-header">
• <button type="button" class="close" data-
dismiss="modal" aria-label="Close" aria-hidden="true">×</button>
• <h4 class="modal-tittle">
• <i class="fa fa-trash-o"></i> Konfirmasi
(<?php echo $row['cat_id']; ?>)
• </h4>
• </div>
• <div class="modal-body">
• <p>Yakinkah Anda ingin menghapus data ini
?</p>
• </div>
• <div class="modal-footer">
• <a href="?act=delete&id=<?php echo
$row['cat_id']; ?>" class="btn btn-danger" id="<?php echo $row['cat_id'];
?>">Ya</a>
• <a href="#" type="button" class="btn btn-default
btn-cancel" data-dismiss="modal" aria-hidden="true">Tidak</a>
• </div>
• </div>
• </div>
• </div>
• </td>
• </tr>
• <?php } ?>
• </tbody>
• </table>
• </div>
• </div>
• </div>
• </div>
• </div>
•
• <?php
• break;
• case 'add':
• ?>
• <div id="page-content-wrapper">
• <div class="container-fluid">
• <div class="row">
• <div class="col-lg-12">
•
•
L-27
• <?php
• $error = false;
•
• $category = "";
• $catErr = "";
•
• if(isset($_POST['save'])){
• $query = mysqli_query($conn,"SELECT * FROM categories
WHERE category='".$_POST['cat_name']."'");
•
• if($_SERVER['REQUEST_METHOD'] == "POST"){
• if(empty($_POST['cat_name'])){
• $error = true;
• $catErr = "Masukkan isi nama kategori";
• }else{
• $category = $_POST['cat_name'];
• if(!preg_match("/^[a-zA-Z ]*$/",$_POST['cat_name'])){
• $error = true;
• $catErr = "Isi nama kategori harus menggunakan huruf dan
spasi";
• }
• }
• }
•
• if(!$error){
• if(mysqli_num_rows($query) > 0){
• echo "<div class='alert alert-danger'>Kategori
<b>$category</b> sudah masih ada!</div>";
• }else{
• mysqli_query($conn,"INSERT INTO categories VALUES
(NULL,'$category')");
• header('location: categories.php');
• }
• }
• }
• ?>
•
• <form action="?act=add" class="form-horizontal" method="POST">
• <legend>Tambah Baru</legend>
• <!-- Category Name -->
• <div class="form-group">
• <label class="col-md-2 control-label">Nama Kategori
<i>(required)</i></label>
• <div class="col-md-10">
L-28
• <input type="text" name="cat_name" placeholder="Masukkan
isi nama kategori" class="form-control" value="<?php echo isset($category) ?
$category : ' ';?>">
• <span class="text-danger"><?php echo $catErr ; ?></span>
• </div>
• </div>
• <!-- Button -->
• <div class="form-group">
• <label class="col-md-2 control-label"></label>
• <div class="col-md-10">
• <button type="submit" class="btn btn-warning"
name="save">Simpan</button>
• <a href="categories.php"><button type="button" class="btn
btn-link">Batal</button></a>
• </div>
• </div>
• </form>
• </div>
• </div>
• </div>
• </div>
• <?php
• break;
• case "edit":
• ?>
• <div id="page-content-wrapper">
• <div class="container-fluid">
• <div class="row">
• <div class="col-lg-12">
• <?php
•
• $id = $_GET['id'];
•
• $query = mysqli_query($conn, "SELECT * FROM categories WHERE
cat_id = '".$id."'");
• $data = mysqli_fetch_array($query);
•
• $error = false;
• $category = "";
• $catErr = "";
•
• if(isset($_POST['update'])){
•
• if($_SERVER['REQUEST_METHOD'] == "POST"){
• if(empty($_POST['cat_name'])){
L-29
• $error = true;
• $catErr = "Please enter the category name";
• }else{
• $category =
mysqli_real_escape_string($conn,$_POST['cat_name']);
• if(!preg_match("/^[a-zA-Z ]*$/",$_POST['cat_name'])){
• $error = true;
• $catErr = "Name must contain only alphabets and space";
• }
• }
• }
•
• if(!$error){
• mysqli_query($conn,"UPDATE categories SET
category='$category' WHERE cat_id='".$id."'");
• header('location: categories.php');
• }
• }
•
• ?>
• <form action="?act=edit&id=<?php echo $_GET['id'];?>" class="form-
horizontal" method="POST">
• <legend>Edit Category</legend>
• <!-- Category Name -->
• <div class="form-group">
• <label class="col-md-2 control-label">Nama Kategori
<i>(required)</i></label>
• <div class="col-md-10">
• <input type="text" name="cat_name" value="<?php echo
isset($_POST['cat_name']) ? $_POST['cat_name'] : $data['category']; ?>"
class="form-control">
• <input type="hidden" name="id" value="<?php echo
$_GET['id']; ?>">
• <span class="text-danger"><?php echo $catErr ; ?></span>
• </div>
• </div>
• <!-- Button -->
• <div class="form-group">
• <label class="col-md-2 control-label"></label>
• <div class="col-md-10">
• <button type="submit" class="btn btn-warning"
name="update">Ubah</button>
• <a href="categories.php"><button type="button" class="btn
btn-link">Batal</button></a>
• </div>
L-30
• </div>
• </form>
• </div>
• </div>
• </div>
• </div>
• <?php
• break;
• case "delete":
• if(isset($_GET['id'])){
• $id = $_GET['id'];
• $query = "DELETE FROM categories WHERE cat_id = '$id'";
• if(!$res = mysqli_query($conn,$query)){
• exit(mysqli_error());
• }
• header('location: categories.php');
• }
• ?>
•
• <?php
• break;
• }
• ?>
• </div>
•
• <footer class="footer-bottom">
• <div class="footer-right">
• © <?php echo date ("Y")?> Kia Petshop
• </div>
• <div class="clearfix"></div>
• </footer>
•
• <!-- JS Offline -->
• <script type="text/javascript" src="js/jquery.min.js"></script>
• <script type="text/javascript" src="js/jquery.dataTables.min.js"></script>
• <script type="text/javascript" src="js/bootstrap.min.js"></script>
• <script type="text/javascript" src="js/custom.js"></script>
•
• </body>
• </html>
•
• <?php
• ob_end_flush();
• ?>
L-31
• Brand/brands.php
• <?php
• require_once("connect.php");
•
• ob_start();
• session_start();
•
• if(isset($_COOKIE['user_id']) && $_COOKIE['user_id'] != ''){
• $id = $_GET['user_id'];
• }else if(isset($_SESSION['user_id']) && $_SESSION['user_id'] != ''){
• $id = $_SESSION['user_id'];
• }else{
• header('location: index.php');
• exit();
• }
• ?>
• <!DOCTYPE html>
• <html lang="en">
• <head>
• <!-- meta -->
• <meta charset="utf-8">
• <meta http-equiv="X-UA-Compatible" content="IE=edge">
• <title>Kia Petshop | Brands</title>
• <meta name="keywords" content="animals" />
• <meta name="author" content="Ananda Tri Putra"/>
•
• <!-- mobile specific -->
• <meta name="viewport" content="width=device-width, shrink-to-fit=no, initial-
scale=1" />
•
• <!-- Favicon -->
•
• <!-- CSS Offline -->
• <link rel="stylesheet" type="text/css" href="css/bootstrap.min.css" />
• <link rel="stylesheet" type="text/css" href="css/font-awesome.min.css" />
• <link rel="stylesheet" type="text/css" href="css/miiadmin.css" />
• <link rel="stylesheet" type="text/css" href="css/jquery.dataTables.css" />
•
• <!-- Le HTML5 shim, for IE6-8 support of HTML5 elements -->
• <!--[if lt IE 9]>
• <script src="js/html5shiv.min.js"></script>
• <script src="js/respond.min.js"></script>
• <![endif]-->
•
L-32
• </head>
• <body>
• <?php
• $queryname = mysqli_query($conn, "SELECT * FROM users WHERE user_id =
'".$id."'");
• $name = mysqli_fetch_array($queryname);
• ?>
• <nav class="navbar navbar-inverse navbar-fixed-top" role="navigation">
• <div class="container-fluid">
• <div class="navbar-header">
• <a href="#main-toggle" id="menu-toggle" class="sidebar-toggle">
• <span class="sr-only">Toggle Navigation</span>
• </a>
• <a href="#" class="navbar-brand"><img src="../logo/kia.png" /></a>
• </div>
•
• <ul class="nav navbar-nav navbar-right">
• <li class="dropdown user-menu">
• <a class="dropdown-toggle" data-toggle="dropdown">
• <i class="fa fa-users"></i> <?php echo $name['fullname']; ?> <span
class="caret"></span>
• </a>
• <ul class="dropdown-menu" role="menu">
• <li><a href="#"><i class="fa fa-user"></i> Profil</a></li>
• <li><a href="logout.php"><i class="fa fa-sign-out"></i>
Keluar</a></li>
• </ul>
• </li>
• </ul>
• </div>
• </nav>
•
• <div id="wrapper">
• <aside id="sidebar-wrapper">
• <ul class="sidebar-nav">
• <li><a href="miadmin.php"><i class="fa fa-dashboard"></i>
Beranda</a></li>
• <li><a href="order_confirmation.php"><i class="fa fa-shopping-cart"></i>
Pesanan</a></li>
• <li class="sidebar-child"><a href="#"><i class="fa fa-th"></i> Produk
Manager <i class="sidebar-fa fa fa-angle-down pull-right"></i></a>
• <ul class="sidebar-second-child" style="display:block;">
• <li class="active"><a href="brands.php">Produk Brand</a></li>
• <li><a href="categories.php">Produk Kategori</a></li>
• <li><a href="subcategories.php">Produk Subkategori</a></li>
L-33
• <li><a href="product.php">Data Produk</a></li>
• </ul>
• </li>
• <li class="sidebar-child"><a href="#"><i class="fa fa-th"></i> Laporan <i
class="sidebar-fa fa fa-angle-down pull-right"></i></a>
• <ul class="sidebar-second-child">
• <li><a href="item_report.php">Laporan Data Produk</a></li>
• <li><a href="item_catsubcat_report.php">Laporan Data Produk
Berdasarkan Kategori / Subkategori</a></li>
• <li><a href="order_report.php">Laporan Data Pemesanan</a></li>
• <li><a href="order_report_bydate.php">Laporan Data Pemesanan
Berdasarkan Tanggal</a></li>
• <li><a href="customer_report.php">Daftar Kontak
Pelanggan</a></li>
• </ul>
• </li>
• </ul>
• </aside>
• <?php
• include "connect.php";
•
• $act = @$_GET['act'];
•
• switch($act){
• default:
•
• ?>
• <div id="page-content-wrapper">
• <div class="container-fluid">
• <div class="row">
• <div class="col-lg-12">
• <h1>Brand</h1>
• <a href="?act=add" class="btn btn-default"><i class="fa fa-plus"></i>
Tambah Baru</a>
• <div class="clearfix"></div>
•
• <div class="table-responsive" style="margin-top:10px;">
• <table id="data" class="table table-bordered results">
• <thead>
• <tr>
• <th width="10">#</th>
• <th>Nama Brand</th>
• <th>Logo</th>
• <th>Edit</th>
• <th>Hapus</th>
L-34
• </tr>
• </thead>
• <tbody>
• <?php
• $sql = "SELECT * FROM brands";
• $query = mysqli_query($conn, $sql);
• $no = 0;
• while($row = mysqli_fetch_assoc($query)){
•
• ?>
• <tr>
• <td width="10" align="center"><?php echo ++$no; ?></td>
• <td><?php echo $row['brand']; ?></td>
• <td align="center"><img src="logo/<?php echo $row['logo'];
?>" class="img-brand"/></td>
• <td width="50" align="center">
• <a href="?act=edit&id=<?php echo $row['brd_id']; ?>"
class="mybtn"><i class="fa fa-pencil-square-o"></i></a>
• </td>
• <td width="50" align="center">
• <a href="<?php echo $row['brd_id']; ?>" data-
target="#confirm-delete_<?php echo $row['brd_id']; ?>" data-toggle="modal"
class="mybtn btn-show"><i class="fa fa-trash-o"></i></a>
• <div class="modal fade" id="confirm-delete_<?php echo
$row['brd_id']; ?>" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"
aria-hidden="true">
• <div class="modal-dialog">
• <div class="modal-content">
• <div class="modal-header">
• <button type="button" class="close" data-
dismiss="modal" aria-label="Close" aria-hidden="true">×</button>
• <h4 class="modal-tittle">
• <i class="fa fa-trash-o"></i> Konfirmasi
(<?php echo $row['brd_id']; ?>)
• </h4>
• </div>
• <div class="modal-body">
• <p>Yakinkah Anda ingin menghapus data
ini?</p>
• </div>
• <div class="modal-footer">
• <a href="?act=delete&id=<?php echo
$row['brd_id']; ?>" class="btn btn-danger" id="<?php echo $row['brd_id'];
?>">Ya</a>
L-35
• <a href="#" type="button" class="btn btn-default
btn-cancel" data-dismiss="modal" aria-hidden="true">Tidak</a>
• </div>
• </div>
• </div>
• </div>
• </td>
• </tr>
• <?php } ?>
• </tbody>
• </table>
• </div>
• </div>
• </div>
• </div>
• </div>
• <?php
• break;
• case 'add':
• ?>
• <div id="page-content-wrapper">
• <div class="container-fluid">
• <div class="row">
• <div class="col-lg-12">
• <?php
• $error = false;
•
• $brand = $logo = "";
• $brandErr = $logoErr = "";
•
•
• if(isset($_POST['save'])){
• $query = mysqli_query($conn,"SELECT * FROM brands
WHERE brand='".$_POST['brand_name']."'");
•
• $img = $_FILES['logo']['name'];
•
• if($_SERVER['REQUEST_METHOD'] == "POST"){
• if(empty($_POST['brand_name'])){
• $error = true;
• $brandErr = "Masukkan isi nama brand";
• }else{
• $brand = $_POST['brand_name'];
• if(!preg_match("/^[a-zA-Z0-9 .\-
]+$/i",$_POST['brand_name'])){
L-36
• $error = true;
• $brandErr = "Isi nama brand harus menggunakan angka,
huruf, karakter dan spasi";
• }
• }
•
• if($_FILES['logo']['error'] != 0){
• $error = true;
• $logoErr = "Please select image";
• }else{
• $logo = $_FILES['logo']['name'];
• }
•
• }
•
• if(!$error){
• if(mysqli_num_rows($query) > 0){
• echo "<div class='alert alert-danger'>Brand <b>$brand</b>
sudah masih ada!</div>";
• }else{
• if(strlen($logo)>0){
• if(is_uploaded_file($_FILES['logo']['tmp_name'])){
• move_uploaded_file($_FILES['logo']['tmp_name'],"logo
/".$img);
• }
• }
• mysqli_query($conn,"INSERT INTO brands VALUES
(NULL,'$brand','$img')");
• header('location: brands.php');
• }
• }
• }
• ?>
•
• <form action="?act=add" class="form-horizontal" method="POST"
enctype="multipart/form-data">
• <legend>Tambah baru</legend>
• <!-- Brand Name -->
• <div class="form-group">
• <label class="col-md-2 control-label">Nama Brand
<i>(required)</i></label>
• <div class="col-md-10">
• <input type="text" name="brand_name"
placeholder="Masukkan isi nama brand" class="form-control" value="<?php echo
isset($brand) ? $brand : ' ';?>">
L-37
• <span class="text-danger"><?php echo $brandErr ; ?></span>
• </div>
• </div>
• <!-- Logo -->
• <div class="form-group">
• <label class="col-md-2 control-label">Pilih Gambar Logo</label>
• <div class="col-md-10">
• <div id="image-preview-div"></div>
• <input type="file" name="logo" id="imgjs">
• <span class="text-danger"><?php echo $logoErr ; ?></span>
• <div id="message"></div>
• </div>
• </div>
• <!-- Button -->
• <div class="form-group">
• <label class="col-md-2 control-label"></label>
• <div class="col-md-10">
• <button type="submit" class="btn btn-warning"
name="save">Simpan</button>
• <a href="brands.php"><button type="button" class="btn btn-
link">Batal</button></a>
• </div>
• </div>
• </form>
• </div>
• </div>
• </div>
• </div>
• <?php
• break;
• case "edit":
• ?>
• <div id="page-content-wrapper">
• <div class="container-fluid">
• <div class="row">
• <div class="col-lg-12">
• <?php
•
• $id = $_GET['id'];
•
• $query = mysqli_query($conn, "SELECT * FROM brands WHERE
brd_id = '".$id."'");
• $data = mysqli_fetch_array($query);
•
• $error = false;
L-38
• $brand = "";
• $brandErr = "";
•
• if(isset($_POST['update'])){
•
• $logo= $_FILES['logo']['name'];
•
• if($_SERVER['REQUEST_METHOD'] == "POST"){
•
• if(empty($_POST['brand_name'])){
• $error = true;
• $brandErr = "Masukkan isi nama brand";
• }else{
• $brand =
mysqli_real_escape_string($conn,$_POST['brand_name']);
• if(!preg_match("/^[a-zA-Z0-9 .\-
&]+$/i",$_POST['brand_name'])){
• $error = true;
• $brandErr = "Nama brand harus menggunakan angka, huruf,
karakter dan spasi";
• }
• }
•
• }
•
• if(move_uploaded_file($_FILES['logo']['tmp_name'],"logo/".$logo)){
• $sql = mysqli_query($conn, "SELECT logo FROM brands WHERE
brd_id = '".$id."'");
• $img = mysqli_fetch_array($sql);
•
• if(is_file("logo/".$img['logo'])){
• unlink("logo/".$img['logo']);
• }
• mysqli_query($conn,"UPDATE brands SET logo='$logo' WHERE
brd_id='".$id."'");
• }
•
• if(!$error){
• mysqli_query($conn,"UPDATE brands SET brand='$brand'
WHERE brd_id='".$id."'");
• header('location: brands.php');
• }
• }
•
• ?>
L-39
• <form action="?act=edit&id=<?php echo $_GET['id'];?>" class="form-
horizontal" method="POST" enctype="multipart/form-data">
• <legend>Edit Brand</legend>
• <!-- Brand Name -->
• <div class="form-group">
• <label class="col-md-2 control-label">Nama Brand
<i>(required)</i></label>
• <div class="col-md-10">
• <input type="text" name="brand_name" value="<?php echo
isset($_POST['brand_name']) ? $_POST['brand_name'] : $data['brand']; ?>"
class="form-control">
• <input type="hidden" name="id" value="<?php echo
$_GET['id']; ?>">
• <span class="text-danger"><?php echo $brandErr ; ?></span>
• </div>
• </div>
•
• <!-- Logo's Image -->
• <div class="form-group">
• <label class="col-md-2 control-label">Pilih Gambar Logo</label>
• <div class="col-md-10">
• <div id="image-preview-div">
• <?php
• echo '<img src="logo/'.$data['logo'].'" class="preview-
img">';
• ?>
• </div>
• <input type="file" name="logo" id="imgjs">
• <div id="message"></div>
• </div>
• </div>
•
• <!-- Button -->
• <div class="form-group">
• <label class="col-md-2 control-label"></label>
• <div class="col-md-10">
• <button type="submit" class="btn btn-warning"
name="update">Update</button>
• <a href="brands.php"><button type="button" class="btn btn-
link">Batal</button></a>
• </div>
• </div>
• </form>
• </div>
• </div>
L-40
• </div>
• </div>
• <?php
• break;
• case "delete":
• if(isset($_GET['id'])){
• $id = $_GET['id'];
• $query = "DELETE FROM brands WHERE brd_id = '$id'";
•
• $sql = mysqli_query($conn, "SELECT logo FROM brands WHERE brd_id
= '".$id."'");
• $img = mysqli_fetch_array($sql);
•
• if(is_file("logo/".$img['logo'])){
• unlink("logo/".$img['logo']);
• }
•
• if(!$res = mysqli_query($conn,$query)){
• exit(mysqli_error());
• }
• header('location: brands.php');
• }
• ?>
•
• <?php
• break;
• }
• ?>
• </div>
•
• <footer class="footer-bottom">
• <div class="footer-right">
• © <?php echo date ("Y")?> Kia Petshop
• </div>
• <div class="clearfix"></div>
• </footer>
•
• <!-- JS Offline -->
• <script type="text/javascript" src="js/jquery.min.js"></script>
• <script type="text/javascript" src="js/jquery.dataTables.min.js"></script>
• <script type="text/javascript" src="js/bootstrap.min.js"></script>
• <script type="text/javascript" src="js/custom.js"></script>
•
• </body>
• </html>
L-41
•
• <?php
• ob_end_flush();
• ?>
• Login/login.php
• <div class="container">
• <h1 class="well"><center>Masuk dengan Kia Petshop</center></h1>
• <div class="col-lg-12 well">
• <div class="row">
• <?php
• $error = false;
• $emailErr = $passErr = "";
•
• if(isset($_POST['signin'])){
• $email = mysqli_real_escape_string($conn, trim($_POST['email']));
• $password = mysqli_real_escape_string($conn, md5($_POST['password']));
• $remember = $_POST['remember'];
•
• if($_SERVER['REQUEST_METHOD'] == "POST"){
• if(empty($_POST['email'])){
• $error = true;
• $emailErr = "Masukkan isi alamat email";
• }
•
• if(empty($_POST['password'])){
• $error = true;
• $passErr = "Masukkan isi kata sandi";
• }
• }
•
• if(!$error){
• if($email && $password){
• $login = mysqli_query($conn,"SELECT * FROM members WHERE
email='".$email."'");
• while($row=mysqli_fetch_assoc($login)){
• $member = $row['member_id'];
• $name = $row['fullname'];
• $db_pass = $row['password'];
• if($password == $db_pass){
• $loginok = TRUE;
• }else{
• $loginok = FALSE;
• }
•
L-42
• if($loginok == TRUE){
• if($remember == "on"){
• setcookie("member_id", $member, time() + (86400*30));
• setcookie("fullname", $name, time() + (86400*30));
• setcookie("email", $email, time() + (86400*30));
• }elseif($remember == ""){
• $_SESSION['member_id'] = $member;
• $_SESSION['fullname'] = $name;
• $_SESSION['email'] = $email;
• }
• echo "<meta http-equiv='refresh' content='0; url=../index.php'>";
• }else{
• $error = true;
• echo "<div class='alert alert-danger'>Email dan kata sandi Anda
salah, Silakan coba lagi!</div>";
• }
• }
• }
• }
• }
• ?>
• <form action="../index.php?p=login" method="POST">
• <div class="col-sm-12">
• <div class="row">
• <div class="col-sm-6 form-group">
• <label>Email :</label>
• <input type="text" class="form-control" name="email"
placeholder="Masukkan isi email">
• <span class="text-danger msg-error"><?php echo $emailErr;
?></span>
• </div>
•
• <div class="col-sm-6 form-group">
• <label>Kata Sandi :</label>
• <div class="input-group">
• <input type="password" id="password" name="password"
class="form-control">
• <div class="input-group-addon">
• <span>Show</span>
• </div>
• </div>
• <span class="text-danger msg-error"><?php echo $passErr;
?></span>
• </div>
• </div>
L-43
•
• <div class="row">
• <div class="col-sm-6 form-group">
• <div class="checkboxcss"><input type="checkbox"
name="remember" value="on"> Ingat Saya</div>
• </div>
• </div>
•
• <!-- Button -->
• <center>
• <div class="form-group">
• <button type="submit" class="btn btn-warning"
name="signin">Masuk</button>
• <a href="../index.php"><button type="button" class="btn btn-
link">Batal</button></a>
• </div>
• </center>
•
• </div>
• </form>
• </div>
• </div>
• <div class="well" style="margin-bottom: 25%;"><p class="text-center new-
account">Sudahkah Anda mendaftar belum? <a href="../index.php?p=register">Buat
akun baru</a></p></div>
• </div>
• Registeruser/register.php
• <div class="container">
• <h1 class="well"><center>Pendaftaran Kia Petshop</center></h1>
• <div class="col-lg-12 well">
• <div class="row">
• <?php
•
• $error = false;
• $fname = $lname = $gender = $address = $city = $state = $zip = $phone =
$email = $pass = "";
• $fnameErr = $lnameErr = $gender = $addressErr = $cityErr = $stateErr =
$zipErr = $phoneErr = $emailErr = $passErr = $cpassErr = $agreeErr = "";
•
• if(isset($_POST['signup'])){
• $query = mysqli_query($conn,"SELECT * FROM members WHERE
email='".$_POST['email']."'");
•
L-44
• if($_SERVER['REQUEST_METHOD'] == "POST"){
• if(empty($_POST['fname'])){
• $error = true;
• $fnameErr = "Masukan isi nama pertama Anda";
• }else{
• $fname = $_POST['fname'];
• if(!preg_match("/^[a-zA-Z .\-']*$/",$_POST['fname'])){
• $error = true;
• $fnameErr = "Isi nama harus menggunakan huruf, karakter dan
spasi";
• }
• }
•
• if(empty($_POST['lname'])){
• $error = true;
• $lnameErr = "Masukan isi nama terakhir Anda";
• }else{
• $lname = $_POST['lname'];
• if(!preg_match("/^[a-zA-Z .\-']*$/",$_POST['lname'])){
• $error = true;
• $lnameErr = "Isi nama harus menggunakan huruf, karakter dan
spasi";
• }
• }
•
• if(trim($_POST['gender'])=="blank"){
• $error = true;
• $genderErr = "Pilih salah satu jenis kelamin Anda";
• }else{
• $gender = $_POST['gender'];
• if($gender == "Laki-laki"){
• $A = "selected";
• }elseif($gender == "Perempuan"){
• $B = "selected";
• }
• }
•
• if(empty($_POST['address'])){
• $error = true;
• $addressErr = "Masukan isi alamat Anda";
• }else{
• $address = $_POST['address'];
• }
•
• if(empty($_POST['city'])){
L-45
• $error = true;
• $cityErr = "Masukan isi nama kota atau kabupaten";
• }else{
• $city = $_POST['city'];
• if(!preg_match("/^[a-zA-Z -']*$/",$_POST['city'])){
• $error = true;
• $cityErr = "Isi nama kota atau kabupaten harus menggunakan huruf,
karakter dan spasi";
• }
• }
•
• if(empty($_POST['state'])){
• $error = true;
• $stateErr = "Masukan isi provinsi";
• }else{
• $state = $_POST['state'];
• if(!preg_match("/^[a-zA-Z .\-,']*$/",$_POST['state'])){
• $error = true;
• $stateErr = "Isi provinsi harus menggunakan huruf, karakter dan
spasi";
• }
• }
•
• if(empty($_POST['postcode'])){
• $error = true;
• $zipErr = "Masukan isi kode pos";
• }else{
• $zip = $_POST['postcode'];
• if(!is_numeric($zip)){
• $error = true;
• $zipErr = "Isi kode pos hanya menggunakan angka";
• }
• }
•
• if(empty($_POST['phone'])){
• $error = true;
• $phoneErr = "Masukan isi nomor telepon";
• }else{
• $phone = $_POST['phone'];
• if(!is_numeric($phone)){
• $error = true;
• $phoneErr = "Isi nomor telepon hanya menggunakan angka";
• }
• }
•
L-46
• if(empty($_POST['email'])){
• $error = true;
• $emailErr = "Masukan isi alamat email Anda";
• }else{
• $email = $_POST['email'];
• if(!preg_match("/^[_a-z0-9-]+(\.[_a-z0-9.]+)*@[a-z0-9-]+(\.[a-z0-9-
]+)*(\.[a-z]{2,})$/", $_POST['email'])){
• $error = true;
• $emailErr = "Isi alamat email dengan benar";
• }
• }
•
• if(empty($_POST['pass'])){
• $error = true;
• $passErr = "Masukan isi kata sandi";
• }else{
• $pass = md5($_POST['pass']);
• if(strlen($_POST['pass']) < 6){
• $error = true;
• $passErr = "Kata sandi harus minimal 6 karakter";
• }
• }
•
• if(empty($_POST['cpass'])){
• $error = true;
• $cpassErr = "Masukan isi konfirmasi kata sandi";
• }else{
• if($_POST['pass'] != $_POST['cpass']){
• $error = true;
• $cpassErr = "Kata sandi dan konfirmasi kata sandi tidak cocok";
• }
• }
•
• if(!isset($_POST['agree']) == '1'){
• $error = true;
• $agreeErr = "Silakan di centang apabila Anda menyetujuinya";
• }
• }
•
• if(!$error){
• if(mysqli_num_rows($query) > 0){
• echo "<div class='alert alert-danger'>Email $email sudah masih ada,
mohon di buat yang lain!</div>";
• }else{
• $id = autoNumber('member_id','members');
L-47
• $name = $fname." ".$lname;
• $email = mysqli_real_escape_string($conn, $email);
• $pass = mysqli_real_escape_string($conn, $pass);
• date_default_timezone_set('Asia/Jakarta');
• $regdate = date('Y-m-d G:i');
•
• mysqli_query($conn,"INSERT INTO members VALUES
('$id','$name','$gender','$address','$city','$state','$zip','$phone','$email','$pass','$regdate
')");
•
• echo "<meta http-equiv='refresh' content='0; url=../index.php'>";
• }
• }
• }
• ?>
• <form action="../index.php?p=register" method="POST">
• <div class="col-sm-12">
• <div class="row">
• <div class="col-sm-6 form-group">
• <label>Nama Pertama :</label>
• <input type="text" class="form-control" name="fname"
placeholder="Masukan isi nama Anda" value="<?php echo isset($fname) ? $fname : '
';?>">
• <span class="text-danger msg-error"><?php echo $fnameErr;
?></span>
• </div>
•
• <div class="col-sm-6 form-group">
• <label>Nama Terakhir :</label>
• <input type="text" class="form-control" name="lname"
placeholder="Masukan isi nama Anda" value="<?php echo isset($lname) ? $lname : '
';?>">
• <span class="text-danger msg-error"><?php echo $lnameErr;
?></span>
• </div>
• </div>
•
• <div class="row">
• <div class="col-sm-6 form-group">
• <label>Jenis Kelamin :</label>
• <select name="gender" class="form-control">
• <option value="blank">--- Pilih jenis kelamin Anda ---</option>
• <option value="Laki-laki" <?php echo $A; ?>>Laki-laki</option>
• <option value="Perempuan" <?php echo $B;
?>>Perempuan</option>
L-48
• </select>
• <span class="text-danger msg-error"><?php echo $genderErr;
?></span>
• </div>
• </div>
• <div class="row">
• <div class="col-sm-12 form-group">
• <label>Alamat :</label>
• <input type="text" class="form-control" name="address"
placeholder="Masukan isi alamat" value="<?php echo isset($address) ? $address : '
';?>">
• <span class="text-danger msg-error"><?php echo $addressErr;
?></span>
• </div>
• </div>
•
• <div class="row">
• <div class="col-sm-6 form-group">
• <label>Kota / Kabupaten :</label>
• <input type="text" class="form-control" name="city"
placeholder="Masukan isi nama kota atau kabupaten" value="<?php echo isset($city)
? $city : ' ';?>">
• <span class="text-danger msg-error"><?php echo $cityErr;
?></span>
• </div>
•
• <div class="col-sm-6 form-group">
• <label>Provinsi :</label>
• <input type="text" class="form-control" name="state"
placeholder="Masukan isi provinsi" value="<?php echo isset($state) ? $state : ' ';?>">
• <span class="text-danger msg-error"><?php echo $stateErr;
?></span>
• </div>
• </div>
•
• <div class="row">
• <div class="col-sm-6 form-group">
• <label>Kode Pos :</label>
• <input type="text" class="form-control" name="postcode"
placeholder="Masukan isi kode pos" value="<?php echo isset($zip) ? $zip : ' ';?>">
• <span class="text-danger msg-error"><?php echo $zipErr;
?></span>
• </div>
•
• <div class="col-sm-6 form-group">
L-49
• <label>Phone Number :</label>
• <input type="text" class="form-control" name="phone"
maxlength="14" placeholder="Masukan isi nomor telepon Anda" value="+62">
• <span class="text-danger msg-error"><?php echo $phoneErr;
?></span>
• </div>
• </div>
•
• <div class="row">
• <div class="col-sm-4 form-group">
• <label>Alamat Email :</label>
• <input type="text" class="form-control" name="email"
placeholder="Masukan isi alamat email" value="<?php echo isset($email) ? $email : '
';?>">
• <span>Example: yourname@mail.com</span><br/>
• <span class="text-danger msg-error"><?php echo $emailErr;
?></span>
• </div>
• <div class="col-sm-4 form-group">
• <label>Kata Sandi :</label>
• <input type="password" class="form-control" name="pass"
placeholder="Masukan kata sandi sini">
• <span class="text-danger msg-error"><?php echo $passErr;
?></span>
• </div>
• <div class="col-sm-4 form-group">
• <label>Konfirmasi Kata Sandi :</label>
• <input type="password" class="form-control" name="cpass"
placeholder="Masukan kata sandi lagi">
• <span class="text-danger msg-error"><?php echo $cpassErr;
?></span>
• </div>
• </div>
•
• <center>
• <div class="form-group">
• <div class="checkboxcss"><input type="checkbox" name="agree"
value="1"> Saya setuju akan siap mengikut aturan ini</div>
• <span class="text-danger msg-error"><?php echo $agreeErr;
?></span>
• </div>
• </center>
•
• <!-- Button -->
• <center>
L-50
• <div class="form-group">
• <button type="submit" class="btn btn-warning"
name="signup">Daftar</button>
• <a href="../index.php"><button type="button" class="btn btn-
link">Batal</button></a>
• </div>
• </center>
•
• </div>
• </form>
• </div>
• </div>
• <div class="well"><p class="text-center new-account">Pernah jadi anggota? <a
href="../index.php?p=login">Masuk</a></p></div>
• </div>
L-51