Belajar PHP
- Bagian 1 – Koneksi ke database dan membangun tabel di MySQL
- Bagian 2 – Membuat halaman registrasi pada buku tamu
- Bagian 3 – Membuat halaman login dan logout menggunakan session
- Bagian 4 – Buku Tamu (reporting)
- Bagian 5 – Searching (FINAL)
PERHATIAN!! Tutorial ini bersambung, jadi sebelum membaca tutorial ini sebaiknya anda membaca :
Pada tutorial buku tamu kali ini kita akan membuat 4 file PHP :
login.php
halaman antar-muka loginlogin_proses.php
halaman tujuan setelah menekan tombol Log in, disini akan dilakukan validasi dan pencocokan dengan data di tabeluser_nya
.login_lanjut.php
jika semua data valid user akan di bawa ke halaman ini, terdapat ucapan selamat datang dan sebuah link Logout.logout.php
merupakan tindak lanjut setelah link Logout di klik.
Halaman login.php
Tidak ada kode PHP disini, hanya HTML untuk membuat form isian login.
Kode lengkap login.php
<html> <head><title>Login</title></head> <body> <h1>LOGIN</h1> <table> <form action="login_proses.php"> <tr> <td>User Id</td> <td><input type="text" name="user_id" maxlength="255" size="20"></td> </tr> <tr> <td>Password</td> <td><input type="password" name="pass" maxlength="255" size="20"></td> </tr> <tr> <td></td> <td><input type="submit" value="Log in"></td> </tr> </form> </table> </body> </html
Seperti yang sudah kita ketahui jika tombol Log in di tekan maka selanjutnya adalah login_proses.php
yang akan menangani validasi dan proses selanjutnya.
Kode lengkap login_proses.php
<?php session_start(); //kuncinya ada disini, tulis diawal script sebelum menulis yang lain $server = 'localhost'; $user_db = 'root'; $password_db = ''; $nama_db = 'bukutamu'; /* Koneksi database*/ mysql_connect( $server, $user_db, $password_db ) or die( mysql_error() ); mysql_select_db( $nama_db ) or die( mysql_error() ); /* Ambil variabel */ $user_id = $_REQUEST['user_id']; $pass = $_REQUEST['pass']; /* Validasi */ $error = 0; if( empty( $user_id ) || empty( $pass ) ) { echo 'Tidak boleh ada kolom yang kosong.<br>'; $error++; } else { $sql = 'select * from USER_NYA where USER_ID="' . $user_id . '"'; $query = mysql_query( $sql ); $row = mysql_fetch_row( $query ); if( empty( $row[0] ) ) { echo 'User tidak dikenal.<br>'; $error++; } else { if( $row[1] != $pass ) { echo 'Password salah.<br>'; $error++; } else { /*Daftarkan ke server sbg variabel global*/ /* session_register() Sebaiknya tdk digunakan (Deprecated Function) session_register( 'ID', 'PASS' ); */ $_SESSION['ID'] = $user_id; $_SESSION['PASS'] = $pass; } //end else } //end else } if( $error == 0 ) { /* Redirect jika tidak ada error */ header( 'Location:login_lanjut.php' ); exit(); } else { echo '<a href="login.php">Kembali</a>'; exit(); } ?>
Perhatikan session_start()
harus menjadi kode eksekusi PHP yang harus dibaca pertama kali oleh mesin PHP itu sebabnya ia berada di urutan paling atas setelah tag PHP. SEDERHANANYA session_start()
merupakan penanda bahwa halaman ini akan menggunakan fitur session dari PHP dan ia harus ditulis paling dulu 😉
if( empty( $row[0] ) )
if( $row[1] != $pass )
Kita sedikit review dari latihan PHP bagian 2 bagi yang masih sedikit bingung dengan variabel $row[0]
pada baris ke-27 dan $row[1]
pada baris ke-31.
$sql = 'select * from USER_NYA where USER_ID="' . $user_id . '"'; $query = mysql_query( $sql ); $row = mysql_fetch_row( $query );
Kode mulai baris 26 sampai 28 menunjukan bahwa terjadi pemanggilan data ke tabel USER_NYA
yang memiliki USER_ID
sama dengan nilai yang dikandung dari variabel $user_id
.
Mulai ada pencerahan mengenai $row[0]
dan $row[1]
? nilai 0 dan 1 menunjukan index dari kolom pada tabel USER_NYA
sehingga pemanggilan $row[0]
sama dengan pemanggilan nilai pada kolom USER_ID
dan $row[1]
sama dengan nilai dari kolom PASS
, begitu seterusnya.
Didalam if()
saya menggunakan beberapa operator pembanding berikut penjelasannya :
Jika variabel lolos validasi maka username dan password akan di daftarkan menjadi variabel global dalam session artinya variabel tersebut akan dapat diakses dari halaman manapun yang menggunakan session_start()
.
Pendaftaran dan assignment variabel SESSION ditangani oleh blok kode :
$_SESSION['ID'] = $user_id; $_SESSION['PASS'] = $pass;
Setelah variabel terdaftar user akan di-redirect ke halaman yang hanya bisa dibuka jika loginnya berhasil, blok redirect ditangani oleh kode,
/* Redirect jika tidak ada error */ header('Location:login_lanjut.php'); exit(); //hentikan eksekusi kode di login_proses.php
Pembahasan login_lanjut.php
ada di halaman 2 >>
Tinggalkan Balasan ke Hendra Parwata Batalkan balasan