Belajar PHP bagian 2 – Membuat halaman registrasi pada buku tamu


Sebelum anda meneruskan membaca sebaiknya anda telah membaca tutorial Belajar PHP bagian 1 – Koneksi ke database dan membangun tabel di MySQL. Bagi yang sudah membaca kita lanjutkan ke langkah berikutnya yaitu membuat halaman formulir pendaftaran.

Tutorial kali ini (mungkin) tidak akan sepanjang tutorial pertama meskipun nantinya akan menjadi dua file PHP. Pertama kita buat antar-muka dengan HTML.

daftar.phpTampilan daftar.php 

Kode lengkap daftar.php

01 <html>
02 <head>
03 <title>Pendaftaran Buku Tamu</title>
04 </head>
05 <body>
06 <h1>DAFTAR</h1>
07 <table>
08 <form action="daftar_proses.php" method="post">
09 <tr>
10 <td>User ID</td>
11 <td><input type="text" name="user" maxlength="255" size="20"></td>
12 </tr>
13 <tr>
14 <td>Password</td>
15 <td><input type="password" name="pass" maxlength="255" size="20"></td>
16 </tr>
17 <tr>
18 <td>Ulangi password</td>
19 <td><input type="password" name="pass_" maxlength="255" size="20"></td>
20 </tr>
21 <tr>
22 <td><input type="submit" value="Ok"></td>
23 <td><input type="reset" value="Ulang"></td>
24 </tr>
25 </form>
26 </table>
27 </body>
28 </html>

Disini saya tidak akan menjelaskan HTML secara rinci, namun coba perhatikan baris ke-8 pada kode di atas :

<form action="daftar_proses.php" method="post">

nilai daftar_proses.php pada action menunjukan halaman yang akan dimuat selanjutnya ketika tombol Ok di tekan.

Perhatikan baris ke-11, 15, 19 dari kode di atas :

10 <pre><td>User ID</td>
11 <td><input type="text" name="user" maxlength="255" size="20"></td>
12 </tr>
13 <tr>
14 <td>Password</td>
15 <td><input type="password" name="pass" maxlength="255" size="20"></td>
16 </tr>
17 <tr>
18 <td>Ulangi password</td>
19 <td><input type="password" name="pass_" maxlength="255" size="20"></td>

user, pass dan pass_ merupakan variabel yang akan dikirim ke server menggunakan metoda POST ketika tombol Ok ditekan.

Selanjutnya kita buat file daftar_proses.php disini terdapat beberapa logika :

  • Koneksi ke DB bukutamu
  • Ambil variabel yang dikirim daftar.php
  • Validasi variabel dari daftar.php

Setiap halaman atau file PHP yang memiliki transaksi ke database harus melakukan koneksi terlebih dahulu.

<?php
$server = 'localhost';
$user_db = 'root';
$password_db = '';
$nama_db = 'bukutamu';
/* Kode koneksi dan pemilihan database harus SELALU dipanggil/dijalankan sebelum melakukan operasi CRUD (Create Read Update Delete) terhadap data dalam tabel */
mysql_connect($server,$user_db,$password_db) or die(mysql_error());
mysql_select_db($nama_db) or die(mysql_error());

blok kode di atas melakukan koneksi ke MySQL sesuai dengan server, username, password dan nama databasenya.

/* Panggil variabel yang dikirim lewat FORM */
$user = $_REQUEST['user'];
$password = $_REQUEST['pass'];
$password_ulang = $_REQUEST['pass_'];

$_REQUEST merupakan salah satu Reserved Predefined Variabel yang artinya, ia merupakan variabel milik mesin PHP sehingga penggunaan variabel tersebut harus sesuai dengan tujuan penciptaan variabel tersebut. Variabel ini bertugas mengambil variabel yang dikirim ke server.

Bagian selanjutnya adalah validasi variabel

$error = 0; // inisialisasi nilai error dengan 0
/* Periksa apakah kolom kosong */
if(empty($user))
{
echo 'user id masih kosong.<br>';
$error++; // tambah nilai error dengan 1 ($error = $error + 1)
}
if(empty($password))
{
echo 'password masih kosong.<br>';
$error++;
}
if(empty($password_ulang))
{
echo 'password belum diulang.<br>';
$error++;
}

fungsi empty() berfungsi untuk mencari tahu nilai sebuah variabel apakah memiliki nilai atau kosong. Pemeriksaan selanjutnya adalah apakah user yang didaftarkan telah terdaftar sebelumnya, karena jangan sampai ada duplikasi data user.

daftar_proses_user_adaTampilan jika user sudah ada 

/* Periksa apakah username sudah ada di tabel user_nya */
$sql = 'select * from USER_NYA where USER_ID="'.$user.'"';
$query = mysql_query($sql);
$row = mysql_fetch_row($query);
if(!empty($row['0'])) // 0 = index kolom ke-0 dari tabel user_nya yaitu kolom USER_ID | $row['0']
{
echo 'User id sudah ada.<br>';
$error++;
}
/* Apakah password sama */
if($password != $password_ulang)
{
echo 'Password tidak sama.<br>';
$error++;
}

untuk memeriksa apakah user sudah terdaftar adalah dengan mencari username yang didaftarkan dengan records yang ada di tabel user_nya hal ini dilakukan dalam format SQL :

'select * from USER_NYA where USER_ID="'.$user.'"'

lalu isian Password dan Ulangi password dibandingkan untuk mengetahui apakah user mengetikan password yang sama ataukah tidak. Terakhir adalah blok penyimpanan ke dalam database.

/* Jika tidak ada error simpan user dan password kedalam tabel user_nya */
if($error == 0)
{
$sql = 'insert into USER_NYA (USER_ID,PASS) values("'.$user.'","'.$password.'")';
mysql_query($sql) or die(mysql_error());
echo 'Data berhasil dimasukan.<br>';
echo 'id : <strong>'.$user.'</strong><br>';
echo 'password : <strong>'.$password.'</strong><br>';
echo '<a href="login.php">Login</a><br>';
}
/*  Jika ada error isi kembali */
else
{
echo '<br><a href="daftar.php">Isi kembali</a>';
}
?>

nilai $error akan menunjukan jumlah error yang terjadi, artinya jika nilainya 0 maka data telah valid dan langsung disimpan dan dipersilahkan untuk melakukan login dengan username dan password tersebut jika ingin menuliskan pesan pada buku tamu, sebaliknya jika tidak valid maka user diminta mengisi kembali dengan mengklik link yang telah disediakan.

daftar_proses_suksesTampilan daftar_proses.php sukses menyimpan 

Kode lengkap daftar_proses.php

01 <?
02 $server = 'localhost';
03 $user_db = 'root';
04 $password_db = '';
05 $nama_db = 'bukutamu';
06
07 /* Kode koneksi dan pemilihan database harus SELALU dipanggil/dijalankan sebelum melakukan operasi CRUD (Create Read Update Delete) terhadap data dalam tabel */
08 mysql_connect($server,$user_db,$password_db) or die(mysql_error());
09 mysql_select_db($nama_db) or die(mysql_error());
10
11 /* Panggil variabel yang dikirim lewat FORM */
12 $user = $_REQUEST['user'];
13 $password = $_REQUEST['pass'];
14 $password_ulang = $_REQUEST['pass_'];
15
16 $error = 0; // inisialisasi nilai error dengan 0
17 /* Periksa apakah kolom kosong */
18 if(empty($user))
19 {
20 echo 'user id masih kosong.<br>';
21 $error++; // tambah nilai error dengan 1 ($error = $error + 1)
22 }
23 if(empty($password))
24 {
25 echo 'password masih kosong.<br>';
26 $error++;
27 }
28 if(empty($password_ulang))
29 {
30 echo 'password belum diulang.<br>';
31 $error++;
32 }
33
34 /* Periksa apakah username sudah ada di tabel user_nya */
35 $sql = 'select * from USER_NYA where USER_ID="'.$user.'"';
36 $query = mysql_query($sql);
37 $row = mysql_fetch_row($query);
38
39 if(!empty($row['0'])) // 0 = index kolom ke-0 dari tabel user_nya yaitu kolom USER_ID
40 {
41 echo 'User id sudah ada.<br>';
42 $error++;
43 }
44 /* Apakah password sama */
45 if($password != $password_ulang)
46 {
47 echo 'Password tidak sama.<br>';
48 $error++;
49 }
50
51 /* Jika tidak ada error simpan username dan password kedalam tabel user_nya */
52 if($error == 0)
53 {
54 $sql = 'insert into USER_NYA (USER_ID,PASS) values("'.$user.'","'.$password.'")';
55 mysql_query($sql) or die(mysql_error());
56 echo 'Data berhasil dimasukan.<br>';
57 echo 'id : <strong>'.$user.'</strong><br>';
58 echo 'password : <strong>'.$password.'</strong><br>';
59 echo '<a href="login.php">Login</a><br>';
60 }
61 /*  Jika ada error isi kembali */
62 else
63 {
64 echo '<br><a href="daftar.php">Isi kembali</a>';
65 }
66 ?>
data tabel user_nyaTampilan data pada tabel user_nya
http://muslimpribadi.wordpress.com

 

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: