Untuk membuat sebuah login dengan session sangat dibutuhkan sekali dalam pemograman PHP. Oke langsung saja kita buat bagaimana caranya membuat sebuat login dengan session dan validasinya.
Pertama anda buat sebuah file berinama login.php atau yang lainnya bebas sesusai kreasi anda sendiri. lalu tuliskan skrip dibawah ini atau lebih simplenya silahkan anda kopi paste saja biar lebih mudah.
<?php
session_start();
if (isset($_POST["proses"]) and $_POST["proses"]=="form1"){
$username = $_POST["username"];
$password = $_POST["password"];
if (!empty($username) and !empty($password)){
// jika tidak kosong
// cek apakah username dan password sama
if ($username == "winny" and $password == "perwitasari"){
$_SESSION["username"] = $username;
$_SESSION["status"] = "admin";
header("Location:header.php");
exit();
}else{
header ("Location:$_SERVER[PHP_SELF]");
exit();
}
}
}
?>
<html>
<head>
<title>Form Validasi</title>
</head>
<body>
<?php if (empty($_SESSION["username"])){ ?>
<form name="form1" method="post" action="">
<p>Username
<input type="text" name="username" id="username">
</p>
<p>Password
<input type="password" name="password" id="password">
</p>
<p>
<input type="submit" name="button" id="button" value="login">
<input name="proses" type="hidden" id="proses" value="form1">
</p>
</form>
<?php }else{ ?>
<p>This is page provided for <?php echo $_SESSION["username"]; ?><br>
<a href="logout.php">Log Out </a> | <a href="header.php">Page 2</a></p>
<?php } ?>
</body>
</html>
session_start();
if (isset($_POST["proses"]) and $_POST["proses"]=="form1"){
$username = $_POST["username"];
$password = $_POST["password"];
if (!empty($username) and !empty($password)){
// jika tidak kosong
// cek apakah username dan password sama
if ($username == "winny" and $password == "perwitasari"){
$_SESSION["username"] = $username;
$_SESSION["status"] = "admin";
header("Location:header.php");
exit();
}else{
header ("Location:$_SERVER[PHP_SELF]");
exit();
}
}
}
?>
<html>
<head>
<title>Form Validasi</title>
</head>
<body>
<?php if (empty($_SESSION["username"])){ ?>
<form name="form1" method="post" action="">
<p>Username
<input type="text" name="username" id="username">
</p>
<p>Password
<input type="password" name="password" id="password">
</p>
<p>
<input type="submit" name="button" id="button" value="login">
<input name="proses" type="hidden" id="proses" value="form1">
</p>
</form>
<?php }else{ ?>
<p>This is page provided for <?php echo $_SESSION["username"]; ?><br>
<a href="logout.php">Log Out </a> | <a href="header.php">Page 2</a></p>
<?php } ?>
</body>
</html>
Next selanjutnya anda buat file berinama header.php, silahkan kopi paste kode dibawah ini :
<?php session_start(); ?>
<html>
<head>
<title>halaman ke dua</title>
</head>
<body>
<?php if ($_SESSION["status"] == "admin"){ ?>
<table width="100%" border="0" cellpadding="2">
<tr>
<td>selamat datang <?php echo $_SESSION["username"]; ?></td>
</tr>
<tr>
<td>This information is provide for admin only.</td>
</tr>
<tr>
<td>[ <a href="login.php">Index</a> ]</td>
</tr>
</table>
<?php } ?>
</body>
</html>
<html>
<head>
<title>halaman ke dua</title>
</head>
<body>
<?php if ($_SESSION["status"] == "admin"){ ?>
<table width="100%" border="0" cellpadding="2">
<tr>
<td>selamat datang <?php echo $_SESSION["username"]; ?></td>
</tr>
<tr>
<td>This information is provide for admin only.</td>
</tr>
<tr>
<td>[ <a href="login.php">Index</a> ]</td>
</tr>
</table>
<?php } ?>
</body>
</html>
Dan yang terakhir kita buat file logout berinama dengan logout.php, kopi paste kode di bawah ini lalu save.
<?php
session_start();
unset($_SESSION["username"]);
unset($_SESSION["status"]);
// redirect
header("Location:login.php");
exit();
?>
session_start();
unset($_SESSION["username"]);
unset($_SESSION["status"]);
// redirect
header("Location:login.php");
exit();
?>
Setelah itu anda jalankan di web browser anda dan lihat hasilnya...
Semoga berhasil...
0 komentar: