Sabtu, 08 Desember 2012

►membuat session pada form login◄


Untuk mencegah seseorang yang tidak mempunyai hak, masuk ke halaman tertentu biasanya kita menggunakan session. Intinya ketika seseorang membuka halaman yang penting, maka sistem akan menanyakan apakah user sudah login atau belum. Sistem akan memeriksa session yang telah didefinisikan ketika user melakukan login. Berikut ini saya akan mencontohkan bagaimana sistem tersebut berjalan.



Pertama kita harus membuat tabel user di dalam database MySQL.




CREATE TABLE `user` (
`username` varchar(30) NOT NULL,
`password` varchar(40),
`nama` varchar(30),
PRIMARY KEY (`username`)
);

INSERT INTO `user` ( `username` , `password` , `nama` )
VALUES (
`admin`, MD5( `admin` ) , `admin`
);

Selanjutnya kita akan membuat file database.php untuk koneksi ke database MySQL


<?php
$db_hostname="localhost";
$db_username="root"; // username anda
$db_password="12345678"; // password anda
$db_name="latihan"; // nama database anda<br/>
function connect_db() {
global $db_hostname, $db_username, $db_password, $db_name;
$conn = mysql_connect($db_hostname, $db_username, $db_password) or die ("Sorry cannot connect to the database because: " . mysql_error());;
mysql_select_db($db_name);
}
?>
Kemudian buatlah file form_login.php untuk melakukan login.

<html>
<head><title>Login</title></head>
<body>
<form method=post action=cek_login.php>
<font align="center"><h2>Form Login</h2></font>
<table align="center">
<tr><td>Username</td><td><input type="text" name="username" size="20"></tr>
<tr><td>Password </td><td><input type="password" name="password" size="20"></tr>
<tr><td></td><td><input type="submit" name="tombol" value="Login" ></tr>
</table>
</form>
</body>
</html> Selanjutnya buatlah file cek_login.php untuk melakukan pengecekan data pada tabel user.




<?php
session_start();
require_once("database.php"); //memanggil file database.php

connect_db(); // memanggil fungsi connect_db yang ada di file database.php
if($_POST["tombol"]=="Login")
{
$username =$_POST["username"];
$password =md5($_POST["password"]);

$query="SELECT * FROM user where username='$username' and password='$password'";
$result=mysql_query($query);

if(mysql_num_rows($result)>0)
{
list ($username,$password,$nama) = mysql_fetch_row($result);
$_SESSION[`username`]=$username;
header('location: login_sukses.php');
exit;
}
else
{
echo "Maaf password salah";
}
}
?>

  Selanjutnya buatlah file login_sukses.php. File ini digunakan jika user berhasil melakukan login. File ini juga akan melakukan pemeriksaan apakah session sudah di definisikan atau belum.




<?php
session_start();

if(!isset($_SESSION['username']))
{
header('location: form_login.php');
exit;
}

/*
isi file anda
*/
echo "Login sukses";
echo "<br><a href='logout.php'>Logout</a>";
?>

  Kemudian buatlah file logout.php




<?php
session_start();
UNSET($_SESSION['username']);
session_destroy();
header('location: form_login.php');
exit;
?>


sumber : http://www.kuliahit.com/kuliahit/article/3/Session-pada-form-login

Tidak ada komentar:

Posting Komentar