Download Tutorial PHP Lengkap 17 Bab [pdf]
4 Komentar
CREATE TABLE IF NOT EXISTS `user` (
`id_user` int(11) NOT NULL,
`nama` varchar(20) NOT NULL,
`username` varchar(20) NOT NULL,
`password` text NOT NULL
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=latin1;
<?php
// memulai pencatatan session
session_start();
// koneksi database
mysql_connect('localhost','root','');
mysql_select_db('myreport');
// yang akan dijadikan session adalah id_user
if(isset($_SESSION['id_user'])) {
$id_user = $_SESSION['id_user'];
} else {
$id_user = 0;
}
?>
<?php
// ambil konfigurasi database dan session
include('config.php');
// cek apakah user sudah login atau belum
// jika sudah login nilainya bukan 0 tetapi id_user
// direct ke halaman index.php
if($id_user<>0) { header('location:index.php'); }
// jika tombol register diklik
if(isset($_POST['btnregister'])) {
$txtnama = $_POST['txtnama'];
$txtuser = $_POST['txtuser'];
// password di enkripsi dengan password_hash()
$txtpass = password_hash($_POST['txtpass'],PASSWORD_BCRYPT);
$user = mysql_query("SELECT * FROM user WHERE username='$txtuser'");
// apakah username yang dimasukan sudah ada dalam database ?
$cekuser = mysql_num_rows($user);
if($cekuser>0) {
// jika sudah ada username yang sama maka register ditolak
echo "<script>alert('Username ini sudah terdaftar!');</script>";
} else {
// jika belum ada username yang sama maka register diterima
// kemudian masukan kedalam database
$insert = mysql_query("INSERT INTO user (nama,username,password) VALUES ('$txtnama','$txtuser','$txtpass')");
if($insert) {
echo "<script>alert('Daftar berhasil! Silahkan login.');</script>";
} else {
echo "<script>alert('Daftar gagal! Silahkan ulangi.');</script>";
}
}
}
echo "
<!DOCTYPE html>
<html>
<head>
<title>Register</title>
</head>
<body>
<h3>REGISTER</h3>
<form action='' method='post'>
<label>Nama</label><br/>
<input type='text' name='txtnama' required='true'/><br/>
<label>Username</label><br/>
<input type='text' name='txtuser' required='true'/><br/>
<label>Password</label><br/>
<input type='password' name='txtpass' required='true'/><br/>
<br/>
<button type='submit' name='btnregister'>Register</button><br/>
</form>
<br/>
<a href='login.php'>Login</a>
</body>
</html>
";
?>
<?php
// ambil konfigurasi database dan session
include('config.php');
// cek apakah user sudah login atau belum
// jika sudah login nilainya bukan 0 tetapi id_user
// direct ke halaman index.php
if($id_user<>0) { header('location:index.php'); }
// jika tombol login diklik
if(isset($_POST['btnlogin'])) {
$txtuser = $_POST['txtuser'];
$txtpass = $_POST['txtpass'];
$user = mysql_query("SELECT * FROM user WHERE username='$txtuser'");
// apakah username yang dimasukan sudah ada dalam database ?
$cekuser = mysql_num_rows($user);
if($cekuser==0) {
// jika username belum ada dalam database
echo "<script>alert('Anda belum terdaftar!');</script>";
} else {
// jika username sudah ada dalam database
$getuser = mysql_fetch_array($user);
// menyocokan password yang di input dengan password di database
if(!password_verify($txtpass,$getuser['password'])) {
// jika password tidak cocok
echo "<script>alert('Password salah!');</script>";
} else {
// jika password cocok
// id_user dijadikan session
$_SESSION['id_user'] = $getuser['id_user'];
// direct ke halaman index.php
header('location:index.php');
}
}
}
echo "
<!DOCTYPE html>
<html>
<head>
<title>Login</title>
</head>
<body>
<h3>LOGIN</h3>
<form action='' method='post'>
<label>Username</label><br/>
<input type='text' name='txtuser' required='true'/><br/>
<label>Password</label><br/>
<input type='password' name='txtpass' required='true'/><br/>
<br/>
<button type='submit' name='btnlogin'>Login</button><br/>
</form>
<br/>
<a href='register.php'>Register</a>
</body>
</html>
";
?>
<?phpPada kode diatas menampilkan nama dan username dari user yang telah login.
// ambil konfigurasi database dan session
include('config.php');
// cek apakah user sudah login atau belum
// jika belum login nilainya adalah 0
// direct ke halaman login.php
if($id_user==0) { header('location:login.php'); }
// ambil data user sesuai id_user dari session
$user = mysql_fetch_array(mysql_query("SELECT * FROM user WHERE id_user='$id_user'"));
echo "
<!DOCTYPE html>
<html>
<head>
<title>Home</title>
</head>
<body>
<h3>HOME</h3>
Anda login sebagai <b>$user[nama]</b> dengan username <b>$user[username]</b>.<br/>
<br/>
<a href='logout.php'>Logout</a>
</body>
</html>
";
?>
<?phpYang berwarna merah adalah fungsi untuk menghapus session id_user tadi.
// ambil konfigurasi database dan session
include('config.php');
// hapus session saat ini
unset($_SESSION['id_user']);
// direct ke halaman login.php
header('location:login.php');
?>