• Tidak ada hasil yang ditemukan

Cookie and Session - ADOC.PUB

N/A
N/A
Protected

Academic year: 2024

Membagikan "Cookie and Session - ADOC.PUB"

Copied!
22
0
0

Teks penuh

(1)

Session dan Cookie

Fajar Pradana S.ST., M.Eng

(2)

State and Session

Questions about state:

▫ How to keep facebook users keep logged in while browsing friends profiles or other pages?

▫ How to keep your shopping cart entries while you are browsing another goods to add?

▫ How to keep students previous question answers on an online student examination system?

How do we keep user state?

▫ Cookies

▫ Session

(3)

Session

With session, users are allowed to store information on the server for later use (i.e username, shopping item, question answer, etc)

Session information is stored temporarily on the server and will be deleted if it is destroyed or after the user has left the website for a specified time.

Sessions work by creating a unique id (PHPSESSID) for each visitor and store variables based on this PHPSESSID.

While variables contained in a session stored securely on the server, this PHPSESSID value is stored on the client computer as a cookie in order to be able to keep track with the client, if cookies are disabled, PHPSESSID value is stored in the URL as a query string.

(4)

Session

Memungkinkan programmer menyimpan informasi user secara semi-permanen pada variable (variable session)

Penyimpanan isi variabel session berada di server

Bekerja dengan mengcreate unik id

(PHPSESSID) untuk setiap pengunjung dan

menyimpan variabel sesuai dengan PHPSESID

tersebut

(5)

Session

session banyak digunakan sebagai autentifikasi login.

Misalnya saja, untuk melihat halaman kotak

surat pada email, kita harus login terlebih

dahulu.

(6)

Using Sessions

 Starting session

<?php session_start(); ?>

 Storing session

<?php

session_start();

$_SESSION['status']=1;

?>

 Retrieving a session variable

<?php

session_start();

echo “Status=“ . $_SESSION[‘status'];

?>

(7)

Using Sessions

Removing one session variable

<?php

session_start();

if(isset($_SESSION['status'])) unset($_SESSION['status']);

?>

Destroying the whole user’s session

<?php

session_destroy();

?>

(8)

Dalam penanganan session terdapat beberapa proses yang perlu diperhatikan :

Proses pembuatan session

Proses pemeriksaan session

Proses penghapusan session

(9)

Cara Kerja Session

1.

PHP meng-generate (membentuk) sebuah ID session.

2.

PHP menyimpan nilai yang akan Anda simpan dalam session di dalam file yang berada di

server.

3.

PHP melempar ID session ke setiap halaman.

4.

PHP mengambil nilai session dari file session

untuk setiap halaman session.

(10)

Implementation (Sess-a.php)

<?php session_start(); ?>

<!DOCTYPE html>

<html>

<head>

<title>PHP Session Test</title>

</head>

<body>

<?php

$x = 2;

$_SESSION['x'] = $x;

?>

<p>Nilai variabel $x adalah: <?php echo $x; ?></p>

<p>Nilai variabel $_SESSION['x'] adalah:

<?php echo $_SESSION['x']; ?>

</p>

</body>

</html>

(11)

<?php session_start(); ?>

<!DOCTYPE html>

<html>

<head>

<title>PHP Session Test (B)</title>

</head>

<body>

Nilai variabel $x dalam session adalah:

<?php

echo $_SESSION['x'];

session_destroy();

?>

</body>

</html>

(12)

Implementasi pada proses LOGIN

Seperti kita tau login berfungsi sebaga pengecekan apakah user yang mengakses halaman kita berhak atau tidak.

1. user memasukkan username dan password (login.php)

2. melakukan validasi apakan user dan password terdaftar (proses-login.php)

3. username dan password disimpan kedalam server menggunakan session (proses-login.php)

4. pengecekan apakah session sudah terdaftar. (user- area.php)

5. menghapus session yang terdaftar (logout.php)

(13)

Index.php

<form action="proses-login.php" method="post">

<p>username :<br />

<input type="text" name="username" /></p>

<p>password :<br />

<input type="password" name="password" /></p>

<p><button type="submit">Login</button></p>

</form>

File index.php berfungsi untuk menampilkan form login yang akan diproses dihalaman proses-login.php dengan method post.

(14)

Proses-login.php

session_start();

$username_terdaftar = "admin";

$password_terdaftar = "admin";

//cek apakah input telah diisi semua

if(isset($_POST["username"]) and isset($_POST["password"])){

//cek apakah user terdaftar

if($_POST["username"]==$username_terdaftar and

$_POST["password"]==$password_terdaftar){

$_SESSION["berhasil_login"]=1;

$_SESSION["username"]=$_POST["username"];

$_SESSION["password"]=$_POST["password"];

header("location:user-area.php");

}else{

echo "user dan password salah";

} }else{

echo"data tidak lengkap";

}

(15)

User-area.php

session_start();

if(!isset($_SESSION["berhasil_login"]) and

!isset($_SESSION["username"]) and

!isset($_SESSION["password"])){

die("anda tidak mempunyai akses ke halaman ini, silahkan <a href=\"index.php\">login</a>");

}else{

echo "<p>Login berhasil, selamat datang

".$_SESSION["username"]."</p>";

echo "<p><a

href=\"logout.php\">Logout</a></p>";

}

(16)

Logout.php

session_start();

unset($_SESSION["berhasil_login"]);

unset($_SESSION["username"]);

unset($_SESSION["password"]);

session_destroy();

echo "logout berhasil, <a href=\"index.php\">login</a>";

(17)

Cookie

Seperti halnya session, cookies juga merupakan sebuah konsep penyimpanan informasi user.

Client side

Cookies sendiri biasanya dipakai dalam aplikasi shooping cart.

Proses dalam pembuatan cookies :

▫ Proses pembuatan cookies

▫ Proses pemeriksaan cookies

▫ Proses penghapusan cookies

(18)

 Sets cookies

setcookie(name, [value], [expire], [path], [domain]);

<?php

setcookie("user", "Alex Porter", time()+3600);

?>

 Retrieves cookies

$_COOKIE["name of cookie"];

<?php

echo $_COOKIE["user"];

?>

(19)

Proses Pembuatan Cookies

<?php

$value = ‘fajar.prd';

$value2 = ‘Fajar Pradana';

setcookie("username", $value);

setcookie("namalengkap", $value2, time()+3600); /*

expire in 1 hour */

echo "<h1>Ini halaman pengesetan cookie</h1>";

echo "<h2>Klik <a href='cookie02.php'>di sini</a>

untuk

pemeriksaan cookies</h2>";

?>

(20)

Proses pemeriksaan Cookie

<?php

if(isset($_COOKIE['username'])) {

echo "<h1>Cookie 'username' ada. Isinya : " .

$_COOKIE['username'];

} else {

echo "<h1>Cookie 'username' TIDAK ada.</h1>";

}

if(isset($_COOKIE['namalengkap'])) {

echo "<h1>Cookie 'namalengkap' ada. Isinya : " .

$_COOKIE['namalengkap'];

} else {

echo "<h1>Cookie 'namalengkap' TIDAK ada.</h1>";

}

echo "<h2>Klik <a href='cookie01.php'>di sini</a> untuk penciptaan cookies</h2>";

echo "<h2>Klik <a href='cookie03.php'>di sini</a> untuk penghapusan cookies</h2>";

?>

(21)

Proses Penghapusan Cookies

<?php

// set the expiration date to one hour ago setcookie ("username", "", time() - 3600);

setcookie ("namalengkap", "", time() - 3600);

echo "<h1>Cookie Berhasil dihapus.</h1>";

echo "<h2>Klik <a href='cookie01.php'>di sini</a>

untuk

penciptaan cookies</h2>";

echo "<h2>Klik <a href='cookie02.php'>di sini</a>

untuk

pemeriksaan cookies</h2>";

?>

(22)

END

Referensi

Dokumen terkait