15 Komentar

Belajar PHP bagian 2 – Membuat halaman registrasi pada buku tamu

PERHATIAN!! Tutorial ini bersambung, jadi sebelum anda meneruskan membaca sebaiknya baca 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.php

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.

daftar_proses_user_ada

Tampilan 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.
';
 $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.

daftar_proses_sukses

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>';
}
?>
data tabel user_nya

Tampilan data pada tabel user

Tunggu tutorial Belajar PHP bagian 3 – Membuat halaman login selanjutnya. Baca belajar PHP bagian – 3

Download source code daftar.php dan daftar_proses.php *

* ekstrak dan kumpulkan dalam satu folder dengan tutorial bagian – 1

Twitt-nya :

Revisi:
– 18 sep 2011; Perubahan <? menjadi – 18 sep 2011; Update file pada box.net
– 14 des 2011; penyesuaian nama tabel user_nya untuk menjaga konsistensi dengan semua tutorial. fix tutorial bag. 1

15 comments on “Belajar PHP bagian 2 – Membuat halaman registrasi pada buku tamu

  1. bos bikin artikel absensi mahasiswa dengan php donk!!!!!!!! Pusing ni lagi skripsi kehabisan contekan

  2. bisa gak mas buat validasi agar kolom namanya diisi hanya dengan huruf bukan angka…thx

  3. padahal cara mudahnya download aja script yg udah ada, ga ada error.. lancar2 aja..

    makasih buat punulis, moga dpt mencerahkan kita sebagai pemula…
    selamat terus berkarya, moga jadi amal baik

  4. Thank banget share ilmunya..
    kesalahan tadi pas awal gw coba itu di databasenya.
    di bagian ‘belajar php bagian 1’ itu nama tabelnya “user”. tapi disini penulis menggunakan tabel “user-nya”.
    Thanks.

  5. asssslllmmkkkkumm
    mau tanya ni …….
    klo udah upload mysqlphpmyadmin sama public html
    ko masih ada error ya?????
    di login sama bukutamu
    sblmnya terima kasih
    mohon penjelasnyya……
    wasssslllmmmm

  6. lapor,.
    sudah jalan nih semua nya,.
    tapi dengan sedikit modifikasi,.
    kalau pasate langsung dari sisni pasti gk jalan,.karna gk lengkap, seperti :

    Pendaftaran Buku Tamu
    DAFTAR

    User ID

    Password

    Ulangi password

    
    itu kan belum semuanya..
    makanya gk jalan.
    tolong di lengkapi aja om,.biar yg lagi belajar bisa paham benar..
  7. hehehehe.,.saya ngikutin dari atas.,
    gk ketahuan kalau di bawah ada download script lengkap ny :hammer

  8. gan… ko ga ada tutorial buat database dan table-tabelnya???

    minta script sql tabelnya dong. ke email : Antoni_uzumaki@yahoo.com

    kunjungi juga http://www.buddieshop.com/shop

Menurut anda bacaan ini bermanfaat? Ada tambahan? Atau mungkin mencari jawaban lain? Tulis disini Ok (:

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: