BAB 9 AKSES BASIS DATA MySQL DENGAN PHP

advertisement
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> </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> </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
Download