MENGENAL SISTEM PENGATURAN
SESSION DALAM PHP
•
Session ?
•
merupakan hal yang cukup penting dalam
aplikasi berbasis web. Dengan session
PENGGUNAAN SESSION
•
Langkah pertama untuk menggunakan session
di dalam suatu kode program adalah
memanggil fungsi session_start();
•
Fungsi session_start() tidak memerlukan
argumen, jika anda menjalankan session baru,
maka fungsi akan melakukan inisialisasi dan file
temporari yang dibutuhkan untuk melacak
PENGGUNAAN SESSION
<?phpsession_start();
$idsession= session_id();
// $_SESSION['count']=1;
?>
<html>
<head>
<title> menggunakan session </title>
</head>
<body>
<h2>Demo menggunakan session</h2>
<?php
echo"ID session: <strong>$idsession</strong><br />";
echo"anda telah mengunjungi halaman ini sebanyak " .
$_SESSION['count'] = $_SESSION['count']+1 ;
//$_SESSION['count'] . " kali." ;
?>
</body>
MELACAK NILAI DARI
HALAMAN LAIN
•
Pada bagian ini akan menjelaskan cara melacak
nilai variabel dari halaman2 lain yang user
kunjungi.
•
Artinya meskipun user mengunjungi banyak
CONTOH
<?phpsession_start();
?>
<html><head><title> menggunakan session </title></head>
<body>
<h2>Demo menggunakan session</h2>
<?php
$_SESSION['nama']= "Bimo";
$_SESSION['kelas']= "pemrograman web";
$_SESSION['nilai']= array("algoritma" => 'A' , "sql" => 'A',"HTML&CSS" => 'B', "PHP" => 'A');
echo "selamat Datang," .
"<strong>" . $_SESSION['nama'] . "</strong>";
?>
<br /><br />
<a href="nilai.php">lihat nilai</a>
</body>
CONTOH
<?php session_start(); ?> <html> <head><title> daftar nilai </title>
</head>
<body>
<h2>Daftar nilai</h2>
Nama : <?php echo $_SESSION['nama'];?><br />
kelas: <?php echo $_SESSION['kelas'];?><br /><br />
<?php $daftarnilai = $_SESSION['nilai']?>
<table border = "1">
<tr> <th width="200">Matakuliah</th> <th width="50">Nilai</th> </tr>
<?php foreach($daftarnilai as $matakuliah => $nilai) {
?>
<tr><td><?php echo $matakuliah; ?></td><td align="center"> <?php echo $nilai; ?></td> </tr>
<?php
} ?>
MENGHAPUS NILAI VARIABEL
DARI SESSION
• Pada saat anda sudah tidak membutuhkan lagi variabel yang terdapat pada session yang sedang aktif, maka variabel tersebut dapat dihapus menggunakan fungsi
• Session_unset()
• Dan untuk mengakhiri sebuah session dapat mengguakan fungsi session_destroy()
• Contoh : <?php
session_start();
STUDI KASUS
•
Kita akan membatasi akses user untuk melihat sebuah web
atau menu web
•
Bikin file menu.php
<a href="test1.php">Test 1</a>
<a href="test2.php">Test 2</a>
<a href="logout.php">Logout</a>
Kemudian bikin isi dari menu yaitu tes1.php,
tes2.php
<?php
STUDI KASUS
• Form login
<html>
<form method = "post" action = "proses1.php"> <table>
<tr>
<td>username</td> <td>:</td>
<td><input type = "text" name = "username" required /> </td>
</tr> <tr>
<td>Password</td> <td>:</td>
<td><input type = "password" name = "password" required /> </td>
</tr> <tr>
<td></td> <td></td>
<td><input type = "submit" name="submit" value="login"/> </td>
STUDI KASUS
• File koneksi
<?php
//Melakukan koneksi ke database $dbHost = "localhost";
$dbUser = "root"; $dbPass = "";
$dbDatabase="coba";
$db = mysql_connect("$dbHost", "$dbUser", "$dbPass") or die ("koneksi gagal nih, cek apakah variabel sudah benar apa belum");
//memilih database
STUDI KASUS
Proses_login<?php
session_start();
$username = $_POST['username']; $password = $_POST['password']; include 'koneksi.php';
$result=mysql_query("select * from users where username='$username' AND password='$password'", $db); //melihat apakah username dan password yang dimasukkan benar
$rowCheck = mysql_num_rows($result);
//jika benar maka if($rowCheck > 0){
while($row = mysql_fetch_array($result)){
$_SESSION ['username'] = $row ['username']; $_SESSION ['login'] = true;
//Memberitahu jika login sukses echo 'login berhasil..!!';
//redirect ke halaman lain untuk lebih memastikan header( "Location: http://localhost/session/home.php" ); }
}else{
header( "Location: http://localhost/session/index.php" ); }
STUDI KASUS
•
Cek login
<?php
session_start();
if (!isset($_SESSION['login'])){
header( "Location: http://localhost/session/index.php" );
}
?>
•
NB : maka disetiap file yang akan dicek contoh file menu dan
tes1 ditambah dengan skrip
STUDI KASUS
• Logout <?php
//function start lagi session_start();
$_SESSION['login']=''; unset($_SESSION['login']); session_unset();
session_destroy();