SESSION
Mengenal Sistem Pengaturan Session dalam PHP merupakan hal yang cukup penting dalam aplikasi berbasis web. Dengan session memungkinkan menyimpan informasi user secara semi permanen.
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 session tersebut
Penggunaan Session <?php session_start(); $idsession= session_id(); // $_SESSION['count']=1; ?> <html> <head> <title> menggunakan session </title> </head> <body> <h2>Demo menggunakan session</h2> echo"ID session: <strong>$idsession</strong><br />"; echo"anda telah mengunjungi halaman ini sebanyak " . $_SESSION['count'] = $_SESSION['count']+1 ; //$_SESSION['count'] . " kali." ; </body> </html>
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 halaman web, nilai variabel akan tetap dijaga dan dapat diakses dari setiap halaman.
Contoh <?php session_start(); ?> <html><head><title> menggunakan session </title></head> <body> <h2>Demo menggunakan session</h2> $_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> </html>
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> } ?> </table> </body> </html>
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(); $_SESSION['test']=5; session_destroy(); echo $_SESSION['test']; unset($_SESSION['test']); ?>
Studi Kasus <a href="test1.php">Test 1</a> 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 echo 'ini test 2'; bisa di isi seperti ini saja dahulu ?>
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> <td>Password</td> <td><input type = "password" name = "password" required /> <td></td> <td><input type = "submit" name="submit" value="login"/> </table> </form> </html>
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 mysql_select_db("$dbDatabase", $db) or die ("Gagal 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 <?php include 'cek_login.php'; ?>
Studi kasus Logout <?php //function start lagi session_start(); $_SESSION['login']=''; unset($_SESSION['login']); session_unset(); session_destroy(); header( "Location: http://localhost/session/index.php" ); ?>