![]()
Buat dulu Databasenya :
create database simple_cms;
use simple_cms; create table user( id int(5) PRIMARY KEY auto_increment, username varchar(20), password varchar(50)); create table article (id int(5) PRIMARY KEY auto_increment, penulis varchar(20), judul varchar(200), isi text);
insert into user values (”, ‘admin’, md5(‘admin’)); insert into article values(”, ‘Asep Solihin’, ‘Kegantengan Abadi’, ‘Kegantengan abadi terpancar dari kekerenan sejati. Aura kegantengan selalu terpancar dari kerennya seseorang. Kadang banyak yang berpikir keindahan secara fisik itu melebihi dari segalanya. Kita tahu bahwa Tukul itu tidak ganteng, tapi setidaknya tolong hargai dia’), ( ”, ‘Asep Solihin’, ‘PHP is powerfull easy language… ‘, ‘Kekerenan PHP dalam menangani pengembangan Sistem Informasi Berbasis Website patut di acungi 4 jempol kaki dan tangan, kehebatannya melebihi Tukul yang tidak pandai menggaet i#a, wanita yang dia suka. Peace… Damai… ‘);
Selanjutnya, config.php :
<?php
$host = “localhost”;
$username = “root”;
$password = “”;
$database = “simple_cms” ;
$connect = mysql_connect($host, $username, $password);
mysql_select_db( $database , $connect) or die (“MySQL is Error!”);
?>
Kemudian, halaman login.php :
<html>
<head><title>Login Page…</title></head>
<body>
<form action=cek.php method=POST>
<table
border=0
bcolor=#DFDFDF><tr><td>username</td><td><input
type=text name=username></td></tr>
<tr><td>password</td><td><input type=password name=password></td></tr>
<tr><td></td><td><input type=submit name=submit value=submit></td></tr>
</table>
</form>
</body>
</html>
Selanjutnya, file cek.php, disinilah redirect kompleks halaman berada :
<?php
session_start();
require_once “config.php”;
if (ISSET($_POST['username']) && ISSET($_POST['password']) )
{
$username = $_POST['username'];
$password = md5($_POST['password']);
$session_halaman = $_SESSION['halaman'];
$cekuser = “select username, password from user where username = ‘$username’ and password = ‘$password’”;
$query_cekuser = mysql_query($cekuser);
$exist = mysql_num_rows($query_cekuser);
if ($exist >= 1)
{
$_SESSION['user'] = session_id();
header(“location: index.php?view=page&id=$session_halaman”);
}
else
{
header(“location: login.php”);
}
}
?>
Dan halaman index.php, untuk menampilkan artikelnya :
<?php
session_start();
require_once “config.php”;
if (!ISSET($_REQUEST['id']) )
{
$list_article = “select * from article”;
$query_list_article = mysql_query($list_article);
echo “<h3>Article Today</h3>”;
if (ISSET($_SESSION['user']))
{
echo “</p><b>Welcome back User</b>. Do you want
<a href=logout.php>logout</a> ?
~~ </p>”;
}
while ($showlist = mysql_fetch_array($query_list_article))
{
$id = $showlist['id'];
$penulis = $showlist['penulis'];
$judul = $showlist['judul'];
$isi = $showlist['isi'];
$panjangartikel = strlen($isi);
$isi_dipotong = substr($isi, 0, 60);
$isi_fix = substr($isi, 0, strrpos($isi_dipotong, ” “));
$isi_fix .= “…”;
echo “<b>$judul</b><br>
Oleh : $penulis<br>
<p>$isi_fix <a href=index.php?view=page&id=$id>selengkapnya</a></p>
<hr width=45% align=left>”;
}
}
else if (ISSET($_REQUEST['view']) && ISSET($_REQUEST['id']) )
{
$id = $_REQUEST['id'] ;
if (!ISSET($_SESSION['user']))
{
$_SESSION['halaman'] = $id ;
echo “Login dulu dong <a href=login.php>di sini</a>”;
}
else
{
$list_article = “select * from article where id = ‘$id’ “;
$query_list_article = mysql_query($list_article);
while ($showlist = mysql_fetch_array($query_list_article))
{
$id = $showlist['id'];
$penulis = $showlist['penulis'];
$judul = $showlist['judul'];
$isi = $showlist['isi'];
echo “<h3>Article Today</h3>”;
echo “<b>$judul</b><br>
Oleh : $penulis<br>
<p>$isi</p>
<hr width=100% align=left>”;
}
echo “<a href=index.php?view=page>Kembali…</a>”;
}
}
?>
Terakhir adalah, file logout.php :
<?php
session_start();
unset($_SESSION['user']);
session_destroy();
header(“location: index.php”);
?>
Hmmm.. panjang juga Scriptnya.
Saya coba jelaskan beberapa baris yang penting saja. Lihat ke halaman index.php, di situ terdapat baris
seperti ini :
….
else if (ISSET($_REQUEST['view']) && ISSET($_REQUEST['id']) )
{
$id = $_REQUEST['id'] ;
if (!ISSET($_SESSION['user']))
{
$_SESSION['halaman'] = $id ;
echo “Login dulu dong <a href=login.php>di sini</a>”;
}
…
else if (ISSET($_REQUEST['view']) && ISSET($_REQUEST['id']) )
Ini berarti, jika user mengklik salah satu artikel di halaman index,
if (!ISSET($_SESSION['user']))
dan jika user belum login,
$_SESSION['halaman'] = $id ;
maka, rekam halaman yang akan dibuka, simpan halaman tersebut ke dalam variable session.
echo “Login dulu dong <a href=login.php>di sini</a>”;
Persilahkan user untuk login dulu.
Nah selanjutnya, jika user telah login maka artikel langsung di perlihatkan seluruhnya, seperti pada baris ini
….
else
{
$list_article = “select * from article where id = ‘$id’ “;
$query_list_article = mysql_query($list_article);
while ($showlist = mysql_fetch_array($query_list_article))
{
$id = $showlist['id'];
$penulis = $showlist['penulis'];
$judul = $showlist['judul'];
$isi = $showlist['isi'];
echo “<h3>Article Today</h3>”;
echo “<b>$judul</b><br>
Oleh : $penulis<br>
<p>$isi</p>
<hr width=100% align=left>”;
….
Kemudian untuk script cek.php
if (ISSET($_POST['username']) && ISSET($_POST['password']) )
Jika user telah mengisi password dan username,
….
$cekuser = “select username, password from user where username = ‘$username’ and password = ‘$password’”;
maka buat sebuah query yang akan menyeleksi apakah username dan passwordnya ada.
…
$query_cekuser = mysql_query($cekuser);
Jalankan querynya …
$exist = mysql_num_rows($query_cekuser);
Apakah username dan password yang dimasukkan tersebut ada dalam database?
if ($exist >= 1)
{
Jika ada,
$_SESSION['user'] = session_id();
maka buat session baru untuk user
header(“location: index.php?view=page&id=$session_halaman”);
Redirectkan
si user ke halaman yang dia tuju sebelumnya … Ya, disinilah letak
dari redirect kompleksnya.
. Cukup manfaatkan saja session yang ada
untuk meredirect user ke halaman yang dituju.
}
else
{
header(“location: login.php”);
jika username dan password salah, persilahkan user untuk login ulang.
}
}
Untuk screenshoot demonya seperti ini :
Ini adalah halaman pertama kali
Ketika salah satu link akan diklik, maka user diperintahkan untuk login terlebih dahulu
Setelah login berhasil maka user secara otomatis langsung di redirect ke halaman tujuan yang awal.
Selamat mencoba.
Script tersebut dapat di download di sini
http://networkandgame.890m.com/ilmuwebsite/article/redir-complex-by-alk.zip
Sumber dari situs Ilmu Website dalam kategori php kuliah dengan judul Redirect Halaman Kompleks

