Jumpa lagi kawan…. Pembahasan kali ini yaitu session.
Untuk menjelaskan tentang session dan kegunaannya, sebelumnya kita mulai dengan contoh visualisasi terlebih dahulu ya.
Misalkan kita memiliki sebuah form sebagai berikut :
<form method="post" action="submit.php"> Bilangan ke-1 <input type="text" name="bil1" /><br /> Bilangan ke-1 <input type="text" name="bil1" /><br /> <input type="submit" name="submit" value="Submit" /> </form>
Form di atas digunakan untuk memasukkan dua buah bilangan. Selanjutnya kita buat script untuk membaca kedua bilangan yang diinputkan tersebut
submit.php <?php $bil1 = $_POST[‘bil1’]; $bil2 = $_POST[‘bil2′]; echo “Anda memasukkan bilangan ke-1 : “.$bil1.”<br />”; echo “Anda memasukkan bilangan ke-2 : “.$bil2.”<br />”; echo “<a href=’lanjut.php’>Klik di sini</a>”; ?>
Apabila kita telah memasukkan dua buah bilangan melalui form, kemudian mensubmitnya maka pada script submit.php akan memunculkan kedua bilangan tersebut dengan sukses.
Pada submit.php ini terdapat pula link menuju script lanjut.php. Dalam script lanjut.php ini, kita juga akan menampilkan kedua bilangan yang diinputkan sebelumnya.
lanjut.php <?php echo “Anda memasukkan bilangan ke-1 : “.$bil1.”<br />”; echo “Anda memasukkan bilangan ke-2 : “.$bil2.”<br />”; echo “<a href=’lanjut.php’>Klik di sini</a>”; ?>
Apa yang akan terjadi jika kita mengklik link menuju ke lanjut.php tersebut? Apakah kedua bilangan yang diinputkan tadi masih bisa terbaca nilainya? Jawabannya adalah tidak. Kedua bilangan hanya bisa terbaca pada script submit.php saja, karena submit.php adalah halaman pertama setelah pemrosesan form.
Mungkin kawan-kawan berpikiran bahwa perlu ditambahkan perintah
$bil1 = $_POST[‘bil1’];
$bil2 = $_POST[‘bil2’];
pada lanjut.php. Cara ini pun juga tidak bisa untuk membaca kedua bilangan.
Terus.. Bagaimana supaya dalam lanjut.php ini kedua bilangan yang diinputkan masih bisa dibaca nilainya?
Untuk mengatasi hal ini terdapat 2 solusi yang bisa digunakan, yaitu menggunakan get method atau session.
Apabila kita menggunakan get method, maka caranya adalah menyisipkan parameter untuk kedua bilangan pada link menuju lanjut.php tersebut. Selanjutnya dalam lanjut.php, parameter kedua bilangan ini dibaca nilainya.
submit.php <?php $bil1 = $_POST[‘bil1’]; $bil2 = $_POST[‘bil2’]; echo “Anda memasukkan bilangan ke-1 : “.$bil1.”<br />”; echo “Anda memasukkan bilangan ke-2 : “.$bil2.”<br />”; echo “<a href=’lanjut.php?bil1= “.$bil1.”&bil2=”.$bil2.”‘>Klik di sini</a>”; ?> lanjut.php <?php $bil1 = $_GET[‘bil1’]; $bil2 = $_GET[‘bil2’]; echo “Anda memasukkan bilangan ke-1 : “.$bil1.”<br />”; echo “Anda memasukkan bilangan ke-2 : “.$bil2.”<br />”; ?>
Cara di atas akan dapat memunculkan kedua bilangan pada lanjut.php. Namun… cara ini terdapat kelemahan yaitu ditampilkannya nilai input sebagai parameter dalam URL link.
Terus… bagaimana dengan menggunakan session? Ya… dengan menggunakan session, kita tidak perlu menuliskan nilai input dalam URL link. Nilai input ini nantinya akan disimpan dalam suatu variabel session. Selama browser kita masih aktif (browse belum ditutup) atau sengaja dinonaktifkan (dihapus) sessionnya, maka variabe session ini masih terus aktif.
Nah, sekian dulu nih penjelasan mengenai session.. Untuk lebih lengkapnya lagi langsung ke contoh soal kuyyy..

