Melanjuti artikel membuat form register sederhana dengan php dan mysql, sekarang saya akan menjelaskan cara pembuatan form loginnya.
Saya tidak perlu menjelaskan lagi tentang databasenya. Karena database yang digunakan masih sama dengan artikel sebelumnya.
Baca Juga :
Untuk pertama saya akan membuat file dengan nama login.php.
<!--?php /*script ini berfungsi untuk mengecek apakah user sudah login atau belum, jika sudah maka akan mengarah ke home.php dan jika belum akan kembali ke login.php */ session_start(); $username = $_SESSION['username']; if (isset($username)){ header ('location:home.php'); } else { ?-->
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
Login</pre>
<form action="log_act.php" method="post">
<div>Username :</div>
<input type="text" name="username" />
<div>Password :</div>
<input type="password" name="password" />
<input type="submit" value="Login" />
<div><a href="register.php">register</a></div>
</form>
<pre>
<!--?php } ?-->
Kemudian kita buat file actionnya dengan nama log_act.php
</pre>
<?php
//ini adalah membuat sessionnya
session_start();
include "db.php";
function anti_injection($data){
$filter = mysql_real_escape_string(stripslashes(strip_tags(htmlspecialchars($data,ENT_QUOTES))));
return $filter;
}
$username = anti_injection($_POST['username']);
$password = anti_injection($_POST['password']);
//script berikut berfungsi untuk mengecek apakah form sudah terisi dengan benar
if (!ctype_alnum($username) OR !ctype_alnum($password)){
echo "Sekarang loginnya tidak bisa di injeksi lho.";
}
else{
if ($username&&$password){
$get_sql = mysql_query ("SELECT * FROM users WHERE username = '$username'");
$num = mysql_num_rows($get_sql);
//script ini berfungsi untuk mengecek apakah usernama sudah ada atau belum
if ($num==0){
echo "Username Belum terdaftar";
}
else {
while($row = mysql_fetch_assoc($get_sql)){
$dbusername = $row ['username'];
$dbpassword = $row ['password'];
}
/*Script ini berfungsi untuk mengecek kebenaran username dan password,
jika sudah benar maka program akan membuat sessiojn login
*/
$pass = md5($password);
if ($username == $dbusername && ($pass==$dbpassword)){
$_SESSION['username'] = $username;
header ('location:home.php');
}
else {
echo "Password Salah";
}
}
}
else {
echo "Tolong penuhi field";
}
}
?>
<pre>
Nah sekarang kita membuat file home.php sebagai halaman usernya.
<!--?php /*fungsi script ini sama seperta yang ada pada file login.php cuma ini kebalikannya jika user sudah login maka akan mengarah ke home.php dan jika belum maka akan kembali ke login.php */ session_start(); $username = $_SESSION['username']; if (isset($username)){ ?--><meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
Home</pre>
<div>Selamat Datang</div>
<div><a href="logout.php">Logout</a></div>
<pre><!--?php } else { header ('location:login.php'); exit(); } ?-->
Terakhir kita buat file logout.php untuk mengakhiri session jika file ini di panggil.
<!--?php session_start(); session_destroy(); header ('location:login.php'); ?-->
Nah, sekian dulu artikelnya teman. Kita lanjut lagi di pembelajaran berikutnya 😀


April 28, 2013 at 5:42 pm
Share pengalaman kalian disini
May 26, 2013 at 9:21 am
mas..ternyata fungsi cek passwordnya mash belum benar.. walau passwordnya salah . masih bisa login
May 26, 2013 at 11:13 am
thanks kan.. saya perbaiki.. 🙂
June 16, 2013 at 5:39 am
cek row resultnya juga bro,
walau unique kadang mysql juga bisa error.
December 12, 2013 at 4:59 am
sekalian kasih file database nya juga dong mas, di setiap tutorial, karena orang awam seperti saya yang pemula juga kesulitan membuat file database nya.
March 10, 2014 at 9:42 pm
tutorialnya bagus, mencerahkan.
maaf om, minta pencerahan..
Bagaimana cara insert data multiple dengan checkbox dengan value true or false?
terima kasih
October 14, 2014 at 2:23 pm
Wahh, thanks tutorialnya. Sangat membantu