BAB 9 AKSES BASIS DATA MySQL DENGAN PHP Tujuan Pembelajaran: Memahami kaidah Pengaksesan Basis Data MySQL dengan PHP 9.1 Mengakses Basis Data MySQL 9.2 Mengirim Email 9.3 Mengunduh dan Mengunggah File 9.4 Membuat Otentifikasi User 9.5 Membuat Buku Tamu Bab 9 Akses Basis Data MySQL dengan PHP IX- 1 9.1. Mengakses Basis Data MySQL Dalam sebuah web yang dinamis, basis data adalah salah satu komponen yang paling utama harus ada. Basis data ini terletak di sisi server yang akan diakses oleh user yang ada di sisi client. Dalam sebuah halaman web, pengaksesan basis data ini dilakukan oleh script/kode program yang berjalan di sisi server. Salah satu bahasa pemrograman yang dapat digunakan adalah PHP. Melalui kode program yang ditulis menggunakan bahasa pemrograman PHP, kita dapat mengakses data yang ada di dalam server. Setiap kali kita akan mengakses data ke database, maka script ini akan selalu dipanggil. Pada saat mengakses database di server, misalnya database MySQL, pada PHP harus dilakukan tahap-tahap sebagai berikut 1. Membuka koneksi ke server database 2. Bekerja dengan data di dalam server database 3. Tutup koneksi PHP telah menyediakan fungsi mysqli_connect() untuk membuat koneksi antara PHP dan MySQL. Format penulisan sintaksnya adalah mysql_connect(“host”,”user_mysql”,”password_mysql”); Sintaks di atas dapat dijelaskan sebagai berikut : hostname : merupakan alamat server yang menyediakan database MySQL Anda. Alamat ini dapat diisi menggunakan alamat IP ataupun nama komputernya. Apabila server MySQL diletakan pada komputer local, anda dapat menggunakan alamat localhost(IP : 127.0.0.1) sebagai alamat pembaca local. user_mysql : merupakan user pada database MySQL yang anda miliki dalam database MySQL. MySQL akan selalu menggunakan metode seperti ini karena ia sendiri merupakan database server yang menuntut keamanan data setiap penggunanya. password_mysql : adalah password user MySQL yang anda miliki. Praktik : IX- 2 Bab 9 Akses Basis Data MySQL dengan PHP 1. Buka windows explorer dan cari direktori xampp/htdocs 2. Padas folder htdocs, buat folder baru dengan nama Latihan 3. Tuliskan script(pakai Notepad atau word processor lain) koneksi dengan database MySQL pada komputer local/localhost berikut dan simpan pada folder Latihan yang telah dibuat di langkah kedua di atas : <html> <head> <title>Database</title> </head> <body> <? $link = mysql_connect('localhost', 'root', ''); if (!$link) { die('Gagal Koneksi dengan database: '.mysql_error()); } echo Berhasil Koneksi dengan database'; mysql_close($link); ?> </body> </html> 4. Simpan script di atas dengan nama file database.php kemudian simpan di folder Latihan yang telah dibuat di atas. 5. Bila belum diaktifkan, aktifkan terlebih dahulu server melalui xampp control panel. 6. Buka web browser anda dan pada address bar ketikan alamat berikut : http://localhost/Latihan/database.php Bab 9 Akses Basis Data MySQL dengan PHP IX- 3 Pertanyaan: 1. Apa yang muncul di web browser setelah mengakses alamat http://localhost/Latihan/database.php 2. Buka kembali xampp control panel, lalu non aktifkan MySQL, lalu buka kembali http://localhost/Latihan/database.php , apa sekarang yang muncul di web browser? 3. Berdasarkan script di atas, sebutkan, a. Hostnya apa b. Usernya siapa c. Apa passwordnya Koneksi ke Database Untuk contoh di atas, kita baru mengkoneksikan PHP dengan server, sedangkan di server terdiri atas beberapa database. Setelah berhasil terkoneksi dengan server, maka langkah selanjutnya adalah koneksi dengan database. Fungsi untuk melakukan koneksi ke database menggunakan : mysql_select_db(nama_database) Berikut adalah contoh script untuk koneksi ke server kemudian ke database koneksi, dengan terlebih dahulu kita membuat sebuah database dengan nama koneksi menggunakan fungsi, mysql_create_db(koneksi) Praktik: 1. Tulis script berikut menggunakan text editor yang anda miliki(Notepad misalnya) 1. <?php 2. $user=root; 3. $pass=''; 4. $koneksi=mysql_connect("localhost","$user","$pass" ) IX- 4 Bab 9 Akses Basis Data MySQL dengan PHP 5. or die("Tidak dapat koneksi ke server karena :".mysql_error()); 6. echo "Koneksi ke server berhasil dilakukan<br>"; 7. 8. if(mysql_select_db(koneksi)) 9. { 10. echo "Koneksi database berhasil<br>"; 11. } 12. else if(mysql_create_db(koneksi)) 13. { 14. echo"Database koneksi berhasil dibuat<br> "; 15. } 16. else 17. { 18. echo"Database tidak dapat diaktifkan "; 19. } 20. mysql_close($koneksi); 21. ?> 2. Setelah selesai, simpan script di atas dengan nama select_db.php dan simpan di folder Latihan. 3. Buka web browser anda dan ketikan pada address bar alamat : http://localhost/Latihan/select_db.php 4. Apa pesan yang muncul pada web browser dan jelaskan!! Tabel pada Database Koneksi Database koneksi yang akan kita buat, adalah untuk membuat aplikasi web halaman berita yang biasanya ditampilkan dalam sebuah portal On line, langkah selanjutnya adalah dengan membuat tabel berita pada database koneksi yang telah dibuat tadi. Praktik 1. Buka command Prompt dan ganti direktori dengan perintah cd\xampp\mysql\bin 2. Masuk ke database MySQL dengan login sebagai root C:\xampp\mysql\bin>mysql –u root –p Password : 3. Tuliskan script membuat tabel berita pada prompt mysql berikut Bab 9 Akses Basis Data MySQL dengan PHP IX- 5 4. Membuat Form Masukan Berita, tuliskan script php berikut ini, <html> <head> <title>Halaman Input Berita</title> </head> <body> <form name="form1" method="post" action="fm_simberita.php"> <table width="75%" border="0" cellpadding="0" cellspacing="0" bgcolor="#FFFFCC"> <tr bgcolor="FFFFCC"> <td width="76%" bgcolor="FFFF66"><strong>Halaman Pemasukan Isi Berita</strong></td> </tr> <tr> <td>Judul Berita :</td> </tr> <tr> <td><input name="fm_judul" type="text" id="fm_judul" size="35" maxlength="40"></td> </tr> <tr> <td>Isi Berita :</td> </tr> <tr> <td><textarea name="fm_berita" cols="30" rows="5" id="fm_berita"> </textarea></td> </tr> <tr> <td><input type="submit" name="Submit" value="Simpan"> <input type="reset" name="Submit2" value="Baru"> IX- 6 Bab 9 Akses Basis Data MySQL dengan PHP <input name="Button" type="button" onClick="parent.location='fm_lihatberita.php'" value="Lihat ";> </td> </tr> </table> </form> </body> </html> Membuat Script Simpan Data Berita Pada praktik sebelumnya, kita sudah membuat halaman input yang terdiri dari dua buah text field. Setelah halaman tersebut selesai dibuat, tugas anda adalah membuat sebuah halaman yang menyimpan data yang anda masukan pada form input data. Jadi, saat menyimpan, semua data yang masuk pada suatu Form Input akan ditransfer ke dalam database MySQL menggunakan koneksi sendiri yang dihubungkan dengan alamat pada form serta dikirimkan dengan metode POST yang ditandai dengan : <form name=”form1” method=”post” action=”fm_simberita.php”> Form akan menyimpan data dalam sebuah variable, yang ditandai dengan script : <input name="fm_judul" type="text" id="fm_judul" size="35" maxlength="40"> ……………… <textarea name="fm_berita" cols="30" rows="5" id="fm_berita"> </textarea> Variable tersebut akan mengantarkannya ke dalam halaman berisi script PHP. Berikut adalah scriptnya, simpan dengan nama fm_simberita.php. <?php include "fm_connect.php"; $fm_tanggal=date('Y-m-d'); $sql="INSERT INTO berita(judul,berita,tanggal) VALUES('$fm_judul','$fm_berita','$fm_tanggal')"; Bab 9 Akses Basis Data MySQL dengan PHP IX- 7 if(mysql_query($sql)) { echo "Data telah masuk dalam tabel"; } else { echo "Data tidak dapat dimasukkan"; } mysql_close($koneksi); include "fm_inberita.php"; ?> Pada script di atas kita menggunakan sebuah pemanggilan file bernama fm_connect.php untuk menghubungkan ke dalam server dan mengaktifkan database koneksi pada MySQL. Berikut adalah isi file tersebut : <?php $user=root; $pass=''; $koneksi=mysql_connect("localhost","$user","$pass") or die("Tidak dapat koneksi ke server"); mysql_select_db(koneksi) or die("Database tidak dapat dibuka"); ?> Simpan script di atas dengan nama file fm_connect.php. Selain itu, kita menggunakan variable fm_tanggal yang digunakan untuk menentukan tanggal sekarang. Tanggal ini akan disimpan ke dalam database setiap memasukan data. $fm_tanggal=date(‘Y-m-d’); Inti dari script fm_simberita.php adalah membaca semua data dari halaman fm_inberita.php yang terdefinisi pada variable. Selanjutnya data pada variable tersebut dibaca dan dikirim ke server MySQL menggunakan script : IX- 8 Bab 9 Akses Basis Data MySQL dengan PHP $sql="INSERT INTO berita(judul,berita,tanggal) VALUES('$fm_judul','$fm_berita','$fm_tanggal')"; Untuk menghantarkan isi berita yang masuk, kita memerlukan sebuah fungsi PHP untuk menjalankan query SQL tersebut yaitu mysql_query(). Sintaks dasarnya adalah : mysql_query(“perintah_sql”); Sebagai contoh, fungsi tersebut diimplementasikan dengan melakukan eksekusi query SQL bervariable sql seperti berikut : if(mysql_query($sql)) { echo "Data telah masuk dalam tabel"; } else { echo "Data tidak dapat dimasukkan"; } Untuk lebih jelasnya jalankan halaman utama (fm_inberita.php) dan lakukan input berita dan isikan beberapa data sesuai dengan teks isinya. Setelah berita berhasil diinputkan maka kita perlu halaman untuk menampilkan dari berita yang telah diinputkan. Halaman ini nantinya akan dibagi dua yaitu halaman penampil utama dan penampil khusus yang berguna untuk melihat berita secara lengkap. Berikut script yang harus diketikan, simpan dengan nama file fm_lihatberita.php. </head> <body> <p align="center"><strong>BERITA TERBARU</strong> <HR> <UL type="square"> <?php include "fm_connect.php"; $sql_berita="SELECT * FROM berita ORDER BY id DESC"; $qr_berita=msql_query("$sql_berita"); while($hs_berita=mysql_fetch_array($qr_berita)) Bab 9 Akses Basis Data MySQL dengan PHP IX- 9 { echo "<LI><B>$hs_berita[judul]</B></LI><BR>"; echo substr("$hs_berita[berita]",0,80); echo "<a href=fm_detailberita.php?no=$hs_berita[id]>[Detail]</a>"; } ?> </UL> </body> </html> fm_detailberita.php <html> <head> <title>Menampilkan Berita</title> </head> <body> <p align="center"><strong><BERITA TERBARU</strong> <HR> <?php include "fm_connect.php"; $sql_berita="SELECT * FROM berita WHERE id='$no' ORDER BY id DESC"; $qr_berita=mysql_query($sql_berita); while($hs_berita=mysql_fetch_array($qr_berita)) { echo "<B>$hs_berita[judul] [$hs_berita[tanggal]]</B><BR>"; echo "$hs_berita[berita]"; } ?> </body> </html> 9.2. Mengirim Email Ketika seorang user melakukan pendaftaran akun pada suatu website, secara otomatis biasanya website tersebut mengirim email yang memberitahukan jika user tersebut telah terdaftar, dan perlu dilakukan aktivasi sebelum dapat digunakan. Begitu juga ketika pemberitahuan akan adanya news update, seorang admin website secara otomatis mengirimkan berita melalui email secara otomatis. Dasar Pengiriman Email IX- 10 Bab 9 Akses Basis Data MySQL dengan PHP Untuk mengirim email melalui PHP, kita hanya perlu memahami fungsi mail() yang memiliki tiga parameter inti yakni, 1. Alamat email penerima 2. Judul Email 3. Isi pesan atau badan email Formatnya adalah, mail(penerima, judul, pesan); Judul email(2) dan isi pesan(3) sebenarnya bersifat optional. Kita bisa saja mengirimkan email tanpa judul dan kosong. Kita dapat menyertakan parameter keempat yang berisi header tambahan. Praktik Mengirim Email 1. Buka aplikasi notepad 2. Tuliskan kode PHP berikut <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Contact Me</title> </head> <body> <h1>Contact Me</h1> <?php # Script 11.1 - email.php // Check for form submission: if ($_SERVER['REQUEST_METHOD'] == 'POST') { // Minimal form validation: if (!empty($_POST['name']) && !empty($_POST['email']) && !empty($_POST['comments']) ) { // Create the body: $body = "Name: {$_POST['name']}\n\nComments: {$_POST['comments']}"; // Make it no longer than 70 characters long: $body = wordwrap($body, 70); // Send the email: mail('[email protected]', 'Contact Form Submission', $body, "From: {$_POST['email']}"); Bab 9 Akses Basis Data MySQL dengan PHP IX- 11 // Print a message: echo '<p><em>Thank you for contacting me. I will reply some day.</em></p>'; // Clear $_POST (so that the form's not sticky): $_POST = array(); } else { echo '<p style="font-weight: bold; color: #C00">Please fill out the form completely.</p>'; } } // End of main isset() IF. // Create the HTML form: ?> <p>Please fill out this form to contact me.</p> <form action="email.php" method="post"> <p>Name: <input type="text" name="name" size="30" maxlength="60" value="<?php if (isset($_POST['name'])) echo $_POST['name']; ?>" /></p> <p>Email Address: <input type="text" name="email" size="30" maxlength="80" value="<?php if (isset($_POST['email'])) echo $_POST['email']; ?>" /></p> <p>Comments: <textarea name="comments" rows="5" cols="30"><?php if (isset($_POST['comments'])) echo $_POST['comments']; ?></textarea></p> <p><input type="submit" name="submit" value="Send!" /></p> </form> </body> </html> 9.3. Mengunggah File Proses upload/unggah adalah menyalin file dari direktori lokal ke komputer server. Fasilitas upload sendiri disediakan untuk memudahkan user dalam melakukan penyalinan file dari komputer lokal ke server melalui user-inteface yang sangat nyaman. Untuk melakukan upload file, digunakan elemen kontrol khusus. Elemen ini sebenarnya hampir sama dengan elemen Textfield, hanya saja ada tambahan tombol browse yang digunakan untuk memilih lokasi file yang akan diunggah berada. Elemen kontrol ini dibuat dengan menggunakan tag <input> dengan atribut type diisi dengan nilai file. Contoh IX- 12 Bab 9 Akses Basis Data MySQL dengan PHP <input type=”file” name=”file_user”> Cara Kerja dalam Proses Upload Berikut cara kerja proses upload file pada html 1. User mengakses halaman web yang berisi form upload 2. User akan memilih atau menentukan file yang akan diupload 3. Nama file beserta path lengkapnya akan muncul pada elemen TEXTFIELD 4. User menekan tombol SUMBIT 5. File akan ditransfer ke web server dan ditempatkan pada direktori temporary 6. Kode php yang diisi pada bagian action dari form di atas akan memeriksa apakah file tersebut sudah terkirim ke web server atau belum. Jika sudah kode tersebut akan mengeksekusi perintah copy() untuk memindahkan file dari direktori temporary ke direktori sebenarnya 7. Kode php memberikan konfirmasi ke user, apakah file berhasil diupload atau tidak. Menentukan Lokasi Upload Karena dalam praktik ini kita menggunakan komputer lokal sebagai web server maka perlu melakukan konfigurasi pada file php.ini. Untuk melakukannya ikuti langkah berikut 1. Buka file php.ini menggunakan text editor 2. Cari baris yang berisi kode berikut ; Temporary directory for HTTP uploaded files (will use system default if not ; specified). ; http://php.net/upload-tmp-dir upload_tmp_dir="C:\xampp-2\tmp" 3. Ubah direktori C:\xampp-2\tmp ke lokasi yang ingin anda gunakan untuk menyimpan file yang di upload. Menyiapkan Form untuk Proses Upload Pada saat membuat form untuk menangani proses upload, diperlukan untuk menyertakan atribut ENCTYPE pada tag <form> dan diisi “multipart/formdata” . Nilai tersebut menunjukan bahwa yang akan dikirim ke server bukan hanya data text yang tertulis pada elemen kontrol namun beserta filenya. Bab 9 Akses Basis Data MySQL dengan PHP IX- 13 Praktik Membuat Form untuk Upload 1. Buka aplikasi teks editor 2. Tulis kode berikut <html> <head> <title>Form Unggah File</title> </head> <body> <h2>Form Mengunggah File </h2> <ol> <li>Tulis nama file yang akan diupload atau gunakan tombol BROWSE untuk memilih file yang akan diunggah</li> <li>Ketika sudah selesai, tekan tombol<strong>Unggah File</strong>>/li> </ol> <hr/> <div align=”center”> <form action=”UploadFile.php” method=”post” enctype=”multipart/form-data”> <input type=”hidden” name=”MAX_FILE_SIZE” value=”500000”><br/> <input type=”file” name=”file_user” size=”60”> <br/><br/> <input type=”submit” value=”Upload File”> </form> </div> </body> </html> 3. Simpan file dengan nama upload.html pada direktori C:/xampp/htdocs/bab9 4. Jalankan web browser dan masukan http://localhost/bab9/upload.html. Kode PHP untuk Proses Upload Setelah form upload tersedia, langkah berikutnya adalah membuat kode yang dapat menjalankan prosesnya. Pada form di atas, kita menunjuk ke file UploadFile.php untuk melaksanakan proses upload. Mari sekarang kita buat file UploadFile.php sebagai berikut 1. Buka teks editor dan tuliskan kode berikut <?php $file_user=$_FILES[‘file_user’][‘tmp_name’]; $namafile=$_FILES[‘file_user’][‘name’]; IX- 14 Bab 9 Akses Basis Data MySQL dengan PHP $tujuan=”C:\\data\\”.$namafile; if($file_user !=”none”){ copy($file_user,$tujuan); echo”<h3>Proses unggah berhasil dilakukan</h3>”; echo”\$file_user:$file_user<br/>”; echo”\$tujuan:$tujuan”; } else{ echo”<h3>Upload Gagal</h3>”; echo”Anda belum memilih file yang akan diupload.”; } ?> 2. Simpan file php di atas dengan nama UploadFile.php di direktori C:/xampp/htdocs/bab9. 3. Jalan web browser dan isi dengan alamat http://localhost/bab9/upload.html 4. Lakukan proses mengunggah file dan bila sudah tekan tombol Unggah File 9.4. Membuat Otentikasi User Jika anda membangun sebuah web site, seringkali terdapat proses registrasi user. Oleh karena itu maka perlu disediakan form login yang digunakan untuk otentikasi user. Pada sub bab ini akan dibuat sistem sederhana yang akan menangani proses otentikasi user. User yang sudah terdaftar akan tercatat di database dimana proses otentikasi berlangsung. Membuat Tabel Untuk menyimpan data tentang user yang sudah teregistrasi, dibuatkan tabel pada database. Database ini dibuat dengan perintah 1. Pada mysql client tulis create database contohdb; 2. Pilih database contohdb dengan perintah use contohdb; 3. Buat tabel webuser pada database contohdb: create table webuser( id varchar(15) not null, nama varchar(25), pwd varchar(40), constraint pk_webuser primary key(id) Bab 9 Akses Basis Data MySQL dengan PHP IX- 15 ); Membuat Kode untuk Koneksi ke Database Kode yang dibuat berfungsi untuk melakukan koneksi ke database sehingga aplikasi PHP yang akan dibuat dapat berkomunikasi dengan tabel webuser. File berikut akan digunakan setiap kali akan koneksi ke database dengan menggunakan fungsi require(). <?php //file: connectdb.php $dbname $host $username $password =”contohdb”; =”localhost”;//atau 127.0.0.1 =”root”; //bisa disetting sendiri =””;//password default root $conn=mysqli_connect($host,$username,$password,$dbname) ; if(mysqli_connect_errno()){ echo”Koneksi ke server gagal.”; exit(); } ?> Simpan file diatas dengan nama connectdb.php. Membuat Form Registrasi User Form ini digunakan oleh user untuk mengisi data ketika ia registrasi pada halaman web kita. Informasi yang diisi oleh user akan disimpan pada tabel webuser pada database contohdb. Berikut kode programnya, <html> <head> <title>Membuat Otentikasi User</title> </head> <body> <h2>Form Registrasi User</h2> <form action=”do_registrasi.php” method=”post”> <table> <tr> <td>ID User</td> <td><input type=”textfield” name=”id” maxlength=”15” size=”15” /</td> </tr> <tr> <td>Nama Lengkap</td> <td><input type=”textfield” name=”nama” IX- 16 Bab 9 Akses Basis Data MySQL dengan PHP maxlength=”25” size=”25” /</td> </tr> <tr> <td>Password</td> <td><input type=”password” name=”pwd” maxlength=”15” size=”25” /</td> </tr> <tr> <td>&nbsp;</td> <td><input type=”submit” name=”daftar” value=”Daftar” /</td> </tr> </table> </form> </body> </html> Simpan dengan nama file register.php dan letakan pada direktori C:/xampp/htdocs/bab9. Membuat Kode PHP untuk Menangani Proses Registrasi Sesudah membuat form registrasi, langkah selanjutnya adalah membuat kode PHP untuk menangani proses registrasi. Kode ini berfungsi untuk memasukan informasi yang diinput oleh user pada form registrasi ke dalam tabel webuser di dalam database contohdb. Berikut kode programnya, <html> <head> <title>Membuat Otentikasi User</title> </head> <body> <h2>Status Registrasi</h2> <?php if(isset($_POST[‘daftar’])){ $id =$_POST[‘id’]; $nama =$_POST[‘nama’]; $pwd =$_POST[‘pwd’]; require(“connectdb.php”); $sql=”insert into webuser(id,nama,pwd)”. “value(‘$id’,’$nama’,md5(’$pwd’))”; mysqli_query($conn,$sql); $num=mysqli_affected_rows($conn); if($num>0){ ?> Bab 9 Akses Basis Data MySQL dengan PHP IX- 17 Selamat, Anda telah terdaftar di website kami.<br/> [<a href=”login.php”>Login</a>]<br/><br/> <table> <tr> <td>ID</td> <td>:</td> <td><strong><?php echo $id; ?></strong></td> </tr> <tr> <td>Nama Lengkap</td> <td>:</td> <td><strong><?php echo $nama; ?></strong></td> </tr> <tr> <td>Password</td> <td>:</td> <td><strong><?php echo $pwd; ?></strong></td> </tr> </table> <?php } else{ ?> Proses registrasi gagal. Silakan Ulangi lagi!!<br/> [a href=”register.php”>Kembali ke Form Registrasi</a>] <?php } } ?> </body> </html> Simpan file di atas dengan nama do_register.php di direktori C:/xampp/htdocs/bab9. Membuat Form Login Form ini digunakan oleh user untuk mengirimkan informasi ID dan password. Jika salah, maka sistem akan menolak dan menampilkan kembali form login. Berikut kodenya, <html> <head> <title>Membuat Otentikasi User</title> </head> <body> <h2>Form Login</h2> Anda belum terdaftar sebagai user? [<a href=”register.php”>Daftar Sekarang</a>] <br/><br/> IX- 18 Bab 9 Akses Basis Data MySQL dengan PHP <form action=”do_login.php” method=post”> <table> <tr> <td>ID User</td> <td><input type=”textfield” name=”id” maxlength=”15” size=”25” /></td> </tr> <tr> <td>Password</td> <td><input type=”password” name=”pwd” maxlength=”15” size=”25” /></td> </tr> <tr> <td>&nbsp;</td> <td><input type=”sumbit” name=”login” value=”Login” /></td> </tr> </table> </form> </body> </html> Simpan dengan nama file login.php dan simpan di folder C:/xampp/htdocs/bab9 Membuat Kode PHP untuk Menangani Proses Login Setelah form login tersedia, langkah terakhir adalah program yang akan menangani proses login yang dilakukan oleh user. Berikut kodenya <html> <head> <title>Membuat Otentikasi User</title> </head> <body> <?php if(isset($_POST[‘login’])){ $id =$_POST[‘id’]; $pwd =$_POST[‘pwd’]; require(“connectdb.php”); $query=”select nama from webuser”.”where id=’$id’ and pwd=md5(‘$pwd’)”; $result=mysqli_query($conn,$query); $num=mysqli_num_rows($result); if($num==1){ list($nama)=mysqli_fetch_array($result); ?> Bab 9 Akses Basis Data MySQL dengan PHP IX- 19 <h2>Secret Area</h2> Selamat Datang, <strong><?php echo $nama; ?></strong><br/> Ini adalah contoh halaman yang hanya dapat diakses oleh user yang telah terdaftar. <?php } else{ header(“Location: “. “http://localhost/bab9/login.php”); } } ?> </body> </html>. 9.5. Membuat Buku Tamu Buku tamu adalah salah satu fasilitas pada web yang disediakan untuk memuat kesan dan pesan pengunjung terhadap website yang kita buat. Dari masukan pengunjung tersebut kita dapat mengetahui kelebihan dan kekurangan website kita untuk perbaikan di masa yang akan datang. Untuk membuat buku tamu, langkah pertama adalah membuat tabel yang akan menyimpan kesan dan pesan pengunjung. Tabel yang digunakan hanya satu dan kita simpan di basis data contohdb. Berikut kode SQL nya dalam MySQL use contohdb; CREATE TABLE bukutamu ( id int(11) NOT NULL auto_increment, tanggal int(11) NOT NULL, nama varchar(50) NOT NULL, email varchar(50) NOT NULL, website varchar(100) NOT NULL, pesan text NOT NULL, PRIMARY KEY (`id`) ); Kemudian buatlah form dengan kode sebagai berikut <html> </head> <title>Buku Tamu</title> </head> <body> IX- 20 Bab 9 Akses Basis Data MySQL dengan PHP <div id="container"> <h1>Buku Tamu</h1> <p>Silahkan isi buku tamu di bawah ini untuk meninggalkan pesan Anda!</p> <form action="" method="post"> <p><b>Nama Lengkap :</b><br><input type="text" name="nama" placeholder="Nama Leangkap" required /></p> <p><b>Email :</b><br><input type="text" name="email" placeholder="Alamat Email" required /></p> <p><b>Website :</b><br><input type="text" name="website" placeholder="http://example.com" /></p> <p><b>Pesan :</b><br><textarea name="pesan" rows="5" cols="50" placeholder="Tuliskan kesan dan pesan Anda tentang web kami" required></textarea></p> <p><input type="submit" name="go" value="Kirim" /> <input type="reset" name="del" value="Hapus" /></p> </form> </div> </body> </html> Selanjutnya kita akan membuat kode PHP yang digunakan untuk memproses data yang sudah dimasukkan kedalam database, dan berikut ini kodenya: <?php if($_POST['go']){ mysql_connect("localhost", "root", "root"); mysql_select_db("contohdb"); $nama = htmlentities(mysql_real_escape_string($_POST['nama'])); $email = htmlentities(mysql_real_escape_string($_POST['email'])); $web = htmlentities(mysql_real_escape_string($_POST['website'])); $pesan = htmlentities(mysql_real_escape_string($_POST['pesan'])); $tgl = time(); if($nama && $email && $pesan){ if(filter_var($email, FILTER_VALIDATE_EMAIL)){ $in = mysql_query("INSERT INTO bukutamu VALUES(NULL, '$tgl', '$nama', '$email', '$web', '$pesan')"); if($in){ Bab 9 Akses Basis Data MySQL dengan PHP IX- 21 echo '<script language="javascript">alert("Terima kasih, data Anda berhasil disimpan"); document.location="index.php";</script>'; }else{ echo '<div id="error">Uppsss...! Query ke database gagal dilakukan!</div>'; } }else{ echo '<div id="error">Uppsss...! Email Anda tidak valid!</div>'; } }else{ echo '<div id="error">Uppsss...! Lengkapi form!</div>'; } } ?> IX- 22 Bab 9 Akses Basis Data MySQL dengan PHP