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
daftar.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
| < 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 > |
< form action = "daftar_proses.php" method = "post" > |
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 :
5
6
7
8
9
10
11
12
13
14
15
| < 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()); |
/* 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 ++; } |
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.
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 ++; } |
'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>'; } ?> |
$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
daftar_proses.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
| <?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>'; } ?> |
Tampilan data pada tabel user
0 Comments