Saturday, October 31, 2009

PHP Penggunaan Session Untuk Hubungan Antar halaman

. Saturday, October 31, 2009

Dalam membuat sebuah data antar halaman kita bisa mempergunakan session.
Tujuan utama dari penggunaan fitur ini adalah mencegah seseorang menerobos dan mengutak atik data kita.
Sebagai contoh penggunaannya adalah situs dimana kita memiliki login untuk masuk dan halaman member untuk melihat datadi dalamnya. Bayangkan bagaimana bila seseorang yang tidak bertanggung jwab masuk dan mengobrak-abrik database anda karena dia bisa masuk dan memanggil data yang bukan jadi wewenangnya.
Untuk pembuatan database dan table ada pada artikel lain. Bila anda ingin membacanya bisa klik di sini
Pada penjelasan ini saya memepergunakan materi lanjutan dari "membuat login form sederhana dengan PHP"

1. Membuat database


nama file: buat setdatabase.php

<?php
mysql_connect('localhost','root','password')OR DIE("server tidak terhubung");
mysql_query("CREATE DATABASE datacoba");
mysql_select_db('datacoba') or DIE ('database tidak ditemukan');
mysql_query("CREATE TABLE keanggotaan (
userid varchar(8),
nama varchar(20),
sandi varchar(50)
PRIMARY KEY(userid);
");
mysql_query("INSERT INTO datacoba VALUES ('admin' , 'member1' , 'masuk')");
?>

2. Membuat form login


Kita buat file dengan nama login.php

<?php
if($_GET['log'])
{
$peringatan = "Lakukan login terlebih dulu";
}
?>
<form name="log" action="ceklogin.php" target="_self">
<table align="center" width="250" bgcolor="#C0C0C0">
<tr align="center">
<td colspan="3">Member Login<?php print $peringatan;?></td>
</tr>
<tr>
<td>userID</td>
<td>:</td>
<td><input name="idnya" size="8" maxlength="8" /></td>
</tr>
<tr>
<td>Password</td>
<td>:</td>
<td><input name="pasnya" size="12" maxlength="12" /></td>
</tr>
<tr align = "center">
<td colspan="3"><input type="submit" name="ok" value=" Login " /></td>
</tr>
</table>
</form>

Di atas parameter $_GET kita pergunakan untuk mengambil nilai bila terjadi error atau masuk dengan tidak melalui proses yang telah ditentukan.

3. Membuat pengecekan userid dan password


kita buat file dengan nama ceklogin.php

<?php
$connect = mysql_connect('localhost','root','password') or die("Gagal konek");
$db = "datacoba";
$pilih_db = mysql_select_db($db) or die("Database tidak ada");

$id = $_POST['idnya'];
$pas = $_POST['pasnya'];

$cari = mysql_query("SELECT * FROM datacoba WHERE userid = '$id' and sandi = '$pas' LIMIT 1");

if($cari == 'false')
{
print "<script>alert('Maaf, Data tidak ditemukan !');
javascript:history.go(-1);</script>";
}
else
{
session_start();
$_SESSION['iduser'] = $id;
header("location:main.php");
}
?>

Setelah data ditemukan, dengan menggunakan session_start() kita mengalokasikan penyimpanan data sementara yang nanti akan kita panggil dengan menggunakan $_session
Kita berikan nilai yang akan kita simpan dengan menggunakan $_SESSION['iduser'] = $id; kita simpan id user kita sebagai patokan.

4. Halaman 1



<?php
session_start();
if(!isset($_session['userid'])
{
header("location:login.php?log=error");
}
}
print "ini adalah halaman 1<br/><a href='halaman2.php'>ke halaman 2</a> - <a href='logout.php'>Logout</a>";
?>

isset menghasilkan nilai TRUE atau FALSE yang melihat apakah session memiliki nilai yang disimpan atau tidak. Tujuan dari diletakan pada halaman adalah mencegah seseorang langsung masuk dengan memanggil nama file ini.
Untuk halaman ke 2 bisa diisikan yang sama dengan mengganti link halaman.

5. Halaman logout



<?php
unset($_session['userid']);
echo "anda telah keluar dengan selamat<br>";
echo "<a href='login.php'>login kembali</a>";
?>

perintah unset dipergunakan untuk menghapus nilai yang disimpan dalam session.

Untuk melihat script selengkapnya klik disini

Artikel terkait dengan kategori ini :



0 comments:

:)) ;)) ;;) :D ;) :p :(( :) :( :X =(( :-o :-/ :-* :| 8-} :)] ~x( :-t b-( :-L x( =))

Post a Comment

 

Yang baru ditambahkan

wididwi.blogspot.com is proudly powered by Blogger.com | Template by o-om.com | Datastorage by langkahawalbisnisinternet.com