Teman

Pencarian

PHP Sessions

Session digunakan untuk menyimpan informasi mengenai, atau merubah setting dari sesi seorang user. Variabel session menyimpan informasi mengenai seorang user, dan menyediakan informasi tersebut pada seluruh halaman web pada suatu aplikasi .

Variabel Session PHP

 

Ketika kita membuat suatu aplikasi, kita membuka aplikasi tersebut kemudian melakukan beberapa perkerjaan hingga akhirnya menutup aplikasi tersebut. Aplikasi akan mengetahui siapa kita. Aplikasi mengetahui ketika kita mulai menjalankan aplikasi dan ketika kita menutup aplikasi tersebut. Tetapi pada aplikasi internet terdapat satu kesulitan, yaitu: web server tidak dapat mengetahui siapa user yang menggunakan aplikasinya dan apakah yang sedang kita lakukan karena alamat HTTP tidak menyimpan state aplikasi.

Mekanisme session pada PHP akan menyelesaikan permasalahan ini dengan cara memperbolehkan aplikasi untuk menyimpan informasi pada server untuk digunakan kemudian (contohnya: username, shopping items dll). Bagaimanapun, informasi session bersifat sementara dan akan dihapus setelah user meninggalkan situs yang digunakan. Jika kita membutuhkan informasi yang bersifat permanent, kita dapat menyimpan data pada database.

Session bekerja dengan cara membuat Unique ID (UID) untuk setiap user dan menyimpan variabel berdasarkan UID tersebut. UID disimpan baik pada cookie atau URL.


Memulai Session PHP (session_start())

 

Catatan: fungsi session_start() harus ditulis sebelum tag <html>.

Program19-1.php
<?php session_start(); ?>
<html>
<body>
</body>
</html>
Kode di atas akan mendaftarkan session user ke server, dan mengijinkan kita untuk memulai menyimpan informasi user dan memebuat UID untuk session user tersebut.

Menyimpan Session Variabel


Cara yang tepat untuk menyimpan dan mengambil variabel session adalah menggunakan variabel $_SESSION:

Program19-2.php
<?php
session_start();
// store session data
$_SESSION['views']=1;
?>
<html>
<body>
<?php
//retrieve session data
echo "Pageviews=". $_SESSION['views'];
?>
</body>
</html>

Output:
Pageviews=1

Pada contoh di bawah ini, kita akan membuat counter page-views sederhana. Fungsi isset() akan melakukan pengecekan terhadap variabel “views” apakah telah dibuat. Jika “views” telah tersedia, maka kita dapat melakukan proses penambahan pada counter. Jika “views” tidak ada, maka kita akan membuat variabel “views” dan mensetnya dengan 1.

Program19-3.php
<?php

  

  
session_start();
if(isset($_SESSION['views']))

  $_SESSION['views']=$_SESSION['views']+1;

  

  
else

  $_SESSION['views']=1;

echo "Views=". $_SESSION['views']; 

?>

Menghapus Session

 

Jika kita ingin menghapus beberapa data session, kita dapat menggunakan fungsi unset() atau fungsi session_destroy().

Fungsi unset() digunakan untuk membebaskan variabel session tertentu.

Program19-4.php
<?php

unset($_SESSION['views']);
?>

Kita juga dapat menghapus keseluruhan session dengan menggunakan fungsi session_destroy().

Program19-5.php
<?php

session_destroy();
?>

Catatan: session_destroy() akan me-reset session kita dan kita akan kehilangan seluruh data session yang telah tersimpan.

PHP Cookies

cookie biasanya digunakan untuk mengidentifikasi user.

Membuat Cookie (setcookie())

 

Catatan: fungsi setcookie() harus ditulis sebelmu tag <html>.
setcookie(name, value, expire, path, domain);

 

Program18-1.php
<?php 
setcookie("user", "Alex Porter", time()+3600);
?>
<html>
<body>
</body>
</html>

Mengambil nilai Cookie ($_COOKIE)


Program18-2.php
<?php

// Print a cookie

echo $_COOKIE["user"];
// A way to view all cookies
print_r($_COOKIE);
?>

Program18-3.php menggunakan fungsi isset() untuk mencari apakah cookie telah dibuat.
<html>
<body>
<?php
if (isset($_COOKIE["user"]))
  echo "Welcome " . $_COOKIE["user"] . "!<br />";
else
  echo "Welcome guest!<br />";
?>
</body>
</html>


Menghapus Cookie


Program18-4.php
<?php 
// set the expiration date to one hour ago

setcookie("user", "", time()-3600);
?>


Bagaimana jika browser yang kita gunakan tidak mendukung Cookie


Gunakan pasangan form input untuk mengirim data dan form retrieve untuk mengambil data seperti contoh di bawah ini.
Program18-5.php
<html>
<body>
<form action="welcome.php" method="post">
Name: <input type="text" name="name" />
Age: <input type="text" name="age" />
<input type="submit" />
</form>
</body>
</html>

welcome.php.
<html>
<body>
Welcome <?php echo $_POST["name"]; ?>.<br />
You are <?php echo $_POST["age"]; ?> years old.
</body>
</html>