RSS

Session & Cookies (1)

24 Jun

Sedikit mengulas tentang perbedaan session dan cookies. Mungkin masih ada yang bingung apa beda session dan cookies. Session dan Cookies memiliki beberapa kesamaan namun keduanya tidak dapat dikatakan sama.

Session Cookies
Data disimpan di server Data disimpan di client (browser)
Tidak dapat diberi waktu expired Dapat diberi waktu expired

Nah dari gambaran tersebut, pasti sudah ada bayangan apa perbedaan mendasar dari keduanya.😀

Baiklah, klo begitu pada bagian pertama ini sedikit pembahasan akan saya mulai, dimulai dari Session terlebih dahulu

Session
Session dapat digunakan untuk penyimpanan data, hanya saja data yang tersimpan diletakkan di server. Nah mengapa perlu session?? Umumnya kita menggunakan session untuk fasilitas membership. Begitu session ditutup, maka data langsung dihapus dari server.
Pada PHP ada beberapa perintah untuk Session ini:

  1. Memulai PHP – Session
    Untuk menyimpan data dalam session, terlebih dahulu harus memulai session. Untuk memulai session, perintahnya adalah: session_start().
    Supaya tidak bingung, disarankan diletakkan di baris pertama pada syntax PHP anda.

  2. Menyimpan Data ke dalam Session
    Untuk menyimpan data ke dalam session, digunakan perintah $_SESSION[‘nama_session’] = data
    Sebenarnya ada perintah lain seperti session_register(“nama_session_(sesuai_nama_data)”) , namun tidak terlalu disarankan

  3. Memanggil Data yang Tersimpan dalam Session
    Setelah data disimpan dalam session, selanjutnya dapat dipanggil kembali apabila diperlukan. Untuk memanggil data dalam session, caranya cukup menuliskan $_SESSION[‘nama_session’].

  4. Menghapus Data Session
    Untuk menghapus data tertentu yang tersimpan dalam suatu session, digunakan perintah unset($_SESSION[‘nama_session’])
    Namun jika ingin menghapus semua session sekaligus, dapat dilakukan dengan memberikan perintah session_destroy()
    Biasanya menghapus data session yang terkait dengan username diterapkan pada proses logout. Dengan proses logout, maka username yang telah tersimpan dalam session akan terhapus.

  5. Menge‐cek ada tidaknya suatu session
    Untuk mengecek keberadaan session, dapat digunakan perintah isset($_SESSION[‘nama_session’]), atau bisa juga dengan pengeceken lainnya seperti !empty(), dll dimana akan menghasilkan nilai TRUE apabila session sudah ada, dan akan menghasilkan nilai FALSE apabila session tidak ada.

Contoh penggunaan Session
pada index.php kita coba code berikut:

<form action="session.php" method="post">
	username : <input type="text" name="uname" />
	password : <input type="text" name="pass" />
	<button value="Submit" type="submit">Submit</button>
</form>

isi dari session.php:

<?php
	session_start(); 	 	
	$username = $_POST['uname']; 	
	$password = $_POST['pass']; 	
	if ( ($username != "") && ($password != "") ) 	
	{ 		
		$_SESSION['namauser'] = $username; 		
		$_SESSION['passuser'] = $password; 		
	header("location:cek_session.php"); 	
	} 	
	else 	
	{ 		
		echo "input kosong"; 	
	} 	 
?>

kemudian dilakukan pengecekan pada session.php

<?php 
	session_start();
	if ( isset($_SESSION['namauser']) && isset($_SESSION['passuser']) )
	{
		echo "Selamat datang!!!, Session Anda Terdaftar<br/>";
		echo "Username anda: ".$_SESSION['namauser']."<br/>";
		echo "Password anda: ".$_SESSION['passuser']."<br/>";
		echo "<a href="hapus_session.php">Hapus Session</a>";
	}
	else
	{
		echo "Session belum terdaftar";
	}

?>

untuk hapus_session.php

<?php 	
	session_start(); 	
	session_destroy(); 
?>

jika dijalankan dengan contoh pada halaman index.php, dengan username = andrew dan password = aku
hasilnya adalah berikut:

Selamat datang!!!, Session Anda Terdaftar
Username anda: andrew
Password anda: aku
Hapus Session

jika Hapus Session di klik, maka session terhapus dan otomatis jika tombol back pada browser di klik, hasilnya adalah

Session belum terdaftar

mudah bukan?
untuk pembahasan mengenai Cookies silakan klik Session & Cookies (2)

Regard,
~andrew89ongi~

 

Tags: , , , ,

7 responses to “Session & Cookies (1)

  1. randiekasetiawan

    28 April 2012 at 18:14

     
  2. randiekasetiawan

    28 April 2012 at 18:43

     
  3. yath

    17 April 2013 at 17:03

    mas tlong bntuin. gini mas bagaimana cara menyimpan nama session kedalam
    data base.
    misalnya, setiap entri surat masuk, terlihat siapa
    operatornya :
    noreg|tanggal_surat|tentang|operator
    1|12-peb-2009|Rapat RW|user01
    mksih mas🙂

     
    • pionize

      17 April 2013 at 18:33

      maksudnya gmn dulu nih?
      Session bisa juga dimasukkan ke variable
      misalkan Session yang ada saat ini firstname dan lastname

      <?php
      session_start(); //pastikan selalu ada :D
      $firstname = $_SESSION['firstname'];
      $lastname = $_SESSION['lastname'];

      trs kalau mau disimpan ke database ya tinggal query insert biasa ke database

      mysql_query("INSERT INTO user (firstname, lastname) VALUES('". $firstname. "','". $lastname. "')");

      karena saya tidak tahu struktur yang anda maksud, jadi saya bantu dengan penjelasan di atas saja.. semoga membantu😀

       
      • randi

        18 April 2013 at 10:24

        sya udh cba mas trus mncul error kya gni mas coloumn count doesnt match value count at row……
        pdhal di dtbse nya udh pas.

         
      • pionize

        18 April 2013 at 17:41

        biasanya itu gara2 jumlah parameter di bagian insert tidak sama, contoh: INSERT INTO dbname (‘var1’, ‘var2’, var3) VALUES ($var1, $var2)

        yang disiapkan untuk input ada 3 variable tapi yang dikirim cuma ada 2

         

Monggo share dimari :D

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

 
%d bloggers like this: