Membuat halaman registrasi pada buku tamu (Belajar PHP 2)

Ass agan agan sadaya....
Pernah kalian tau proses Login, Logout, dan Register? contohnya bila kalian buka facebook?
saya disini akan memberi tahu cara membuat proses tersebut dengan menggunakan PHP, MySql, dan HTML.

kini kita bahas dulu cara membuat proses registrasi dulu dan selanjutnya kita bahas cara membuat login beserta logoutnya





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



Tampilan daftar.php
Kode lengkap daftar.php
<h1>DAFTAR</h1>
<table>
<form action="daftar_proses.php" method="post">
<tr>
 <td>User ID</td>
 <td><input type="text" name="user" maxlength="255" size="20"></td>
</tr>
<tr>
 <td>Password</td>
 <td><input type="password" name="pass" maxlength="255" size="20"></td>
</tr>
<tr>
 <td>Ulangi password</td>
 <td><input type="password" name="pass_" maxlength="255" size="20"></td>
</tr>
<tr>
 <td><input type="submit" value="Ok"></td>
 <td><input type="reset" value="Ulang"></td>
</tr>
</form>
</table> 

Disini saya tidak akan menjelaskan HTML secara rinci, namun coba perhatikan baris ke-3 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-6, 10, 14 dari kode di atas :
<td>User ID</td>
<td><input type="text" name="user" maxlength="255" size="20"></td>
</tr>
<tr>
 <td>Password</td>
 <td><input type="password" name="pass" maxlength="255" size="20"></td>
</tr>
<tr>
 <td>Ulangi password</td>
 <td><input type="password" name="pass_" maxlength="255" size="20"></td>
</tr> 
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.
';
 $error++; // tambah nilai error dengan 1 ($error = $error + 1)
}
if(empty($password))
{
 echo 'password masih kosong.
';
 $error++;
}
if(empty($password_ulang))
{
 echo 'password belum diulang.
';
 $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.


/* 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.
';
 $error++;
}
/* Apakah password sama */
if($password != $password_ulang)
{
 echo 'Password tidak sama.
';
 $error++;
}
untuk memeriksa apakah user sudah terdaftar adalah dengan mencari username yang didaftarkan
dengan records yang ada di tabel user 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.
';
 echo 'id : <strong>'.$user.'</strong>


';
 echo 'password : <strong>'.$password.'</strong>
';
 echo '<a href="login.php">Login</a>
';
}
/*  Jika ada error isi kembali */
else
{
 echo '
<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.

Tampilan daftar_proses.php sukses menyimpan

Kode lengkap daftar_proses.php


<?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());

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

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

';
 $error++;
}

/* 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
{
 echo 'User id sudah ada.
';
 $error++;
}
/* Apakah password sama */
if($password != $password_ulang)
{
 echo 'Password tidak sama.
';
 $error++;
}

/* Jika tidak ada error simpan username dan password kedalam tabel user */
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.
';
 echo 'id : <strong>'.$user.'</strong>
';

 echo 'password : <strong>'.$password.'</strong>
';
 echo '<a href="login.php">Login</a>
';
}
/*  Jika ada error isi kembali */
else
{
 echo '
<a href="daftar.php">Isi kembali</a>';
}
?>
dan hasilnya bila sudah di isi adalah

sebelum membaca ini alangkah lebih baiknya membaca artikel terkait berikut

Koneksi ke database  dan membangun tabel di MySQL (Belajar PHP 1) 

Posting Komentar

 
Support : Creating Website | Johny Template | Mas Template
Copyright © 2011. IlmuProgrammer - All Rights Reserved
Template Created by Creating Website Published by Mas Template
Proudly powered by Blogger