Assalamualaikum
Maaf yaa updatenya telat nih
Langsung aja yaa kita akan mengenal tentang SESSION.
Berbeda dari biasanya sekarang aku mulai dari contoh dulu yaa supaya gampang wkwkwk.
Misal kita punya form sebagai berikut:
<form method="post" action="tahap1.php">
Bilangan ke-1 <input type="text" name="bil1" /><br />
Bilangan ke-2 <input type="text" name="bil2" /><br />
<input type="submit" name="submit" value="Submit" />
</form>
script tahap1.php:
<?php
$bil1=$_POST[bil1];
$bil2=$_POST[bil2];
echo "Bilangan 1 = ".$bil1."<br />";
echo "Bilangan 2 = ".$bil2."<br />";
echo "<a href='next.php'>Klik Here</a>";
?>
Seperti materi yang sebelumnya, jika kita telah memasukkan kedua bilangan tersebut melalui form, kemudian mensubmitnya maka pada script tahap1.php akan muncul kedua bilangan tersebut.
Di script tahap1.php juga terdapat link yang menuju script next.php, dalam script ini juga akan menampilkan kedua bilangan yang telah kita inputkan.
next.php:
<?php
$bil1=$_POST[bil1];
$bil2=$_POST[bil2];
echo "Bilangan 1 = ".$bil1."<br />";
echo "Bilangan 2 = ".$bil2."<br />";
echo "<a href='next.php'>Klik Here</a>";
?>
Bagaiman jika kita mengklik link next.php tersebut kembali? Yap, kedua bialngan yang telah kita inputkan tadi tidak akan bisa terbaca. Kedua bilangan tersebut hanya bisa terbaca pada script tahap1.php saja.
Untuk mengatasi hal tersebut terdapat 2 solusi yang bisa kita gunakan, yakni menggunakan GET method atau SESSION.
Menggunakan GET method:
Caranya adalah menyisipkan parameter untuk kedua bilangan pada link menuju next.php. Selanjutnya dalam next.php, parameter kedua bilangan ini dapat dibaca nilainya.
<?php
$bil1=$_GET[bil1];
$bil2=$_GET[bil2];
echo "Bilangan 1 = ".$bil1."<br />";
echo "Bilangan 2 = ".$bil2."<br />";
echo "<a href='next.php'>Klik Here</a>";
?>
Kelemahan: Ditampilkannya nilai input sebagai parameter dalam URL link.
Menggunakan SESSION:
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 (belum ditutup) ataupun sengaja dinonaktifkan (dihapus) SESSIONnya, maka variabel SESSION akan tetap aktif.
Nilai yang disimpan dalam variabel SESSION ini bisa dibaca atau dikenali di beberapa halaman script. Beda dengan variabel biasa. Jika variabel biasa hanya dapat dikenali pada halaman script tersebut saja.
Selanjutnya bagaimana cara menyimpan nilai ke dalam suatu variabel SESSION? Sebelum mulai menyimpan, kita harus mengaktifkan SESSION nya terlebih dahulu menggunakan perintah
session_start();
Setelah SESSION aktif, baru kita bisa membuat variabel SESSION untuk menyimpan nilai. Berikut ini perintah untuk menyimpan sebuah nilai ke dalam variabel SESSION:
$_SESSION['namaSession'] = value;
Nilai yang bisa disimpan dalam SESSION ini bisa berupa bilangan, array, karakter maupun string.
Sehingga apabila konsep ini diterapkan pada contoh di atas, maka berikut ini adalah script submit.php yang telah dimodifikasi:
tahap1.php
<?php
session_start(); // mengaktifkan SESSION
$bil1 = $_POST['bil1'];
$bil2 = $_POST['bil2'];
// menyimpan kedua bilangan ke dalam SESSION
$_SESSION['bil1'] = $bil1;
$_SESSION['bil2'] = $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>"; ?>
Kemudian, bagaimana dengan script next.php nya? Bagaimana cara menampilkan nilai kedua bilangan yang disimpan dalam SESSION? Ini dia scriptnya:
next.php
<?php
session_start();
// membaca nilai dari variabel SESSION
$bil1 = $_SESSION['bil1'];
$bil2 = $_SESSION['bil2'];
echo "Anda memasukkan bilangan ke-1 : ".$bil1."<br />";
echo "Anda memasukkan bilangan ke-2 : ".$bil2."<br />";
?>
Keterangan: Dalam script lanjut.php di atas, kita tetap memberikan perintah session_start() karena dalam script lanjut.php ini kita masih memanfaatkan variabel SESSION.
Setelah belajar mengaktifkan SESSION, kita akan belajar cara menghapus variabel SESSION.
Cara 1:
Keluar dari browser (EXIT)
Cara 2:
Menggunakan perintah berikut ini:
untuk menghapus semua variabel SESSION:
session_destroy();
untuk menghapus suatu variabel SESSION tertentu:
unset($_SESSION['nama session']);
Nah sekarang apa sih wujud penerapan SESSION ini???
Biasanya SESSION digunakan untuk keperluan autentifikasi user melalui login. Ideanya apabila user sukses melakukan login, maka username akan disimpan dalam sebuah SESSION.
Mengapa username ini harus disimpan ke dalam SESSION? Dengan disimpannya username ke dalam SESSION sekaligus bisa digunakan untuk mencegah adanya penyusup yang masuk ke aplikasi tanpa melalui login.
Lho kok bisa? Ya.. untuk mengecek ada tidaknya penyusup yang masuk ke aplikasi tanpa login, bisa hanya dengan mengecek SESSION nya. Jika penyusup tadi masuk ke aplikasi tanpa login, otomatis SESSION nya belum ada, karena SESSION baru ada ketika user login dengan sukses.
1. Buatlah autentifikasi user dari suatu aplikasi web menggunakan konsep SESSION. Adapun username-username yang boleh mengakses aplikasi ini adalah
Terlebih dahulu buatlah sebuah desain halaman web dengan layout seperti di bawah ini:
Maaf yaa updatenya telat nih
Langsung aja yaa kita akan mengenal tentang SESSION.
Berbeda dari biasanya sekarang aku mulai dari contoh dulu yaa supaya gampang wkwkwk.
Misal kita punya form sebagai berikut:
<form method="post" action="tahap1.php">
Bilangan ke-1 <input type="text" name="bil1" /><br />
Bilangan ke-2 <input type="text" name="bil2" /><br />
<input type="submit" name="submit" value="Submit" />
</form>
script tahap1.php:
<?php
$bil1=$_POST[bil1];
$bil2=$_POST[bil2];
echo "Bilangan 1 = ".$bil1."<br />";
echo "Bilangan 2 = ".$bil2."<br />";
echo "<a href='next.php'>Klik Here</a>";
?>
Seperti materi yang sebelumnya, jika kita telah memasukkan kedua bilangan tersebut melalui form, kemudian mensubmitnya maka pada script tahap1.php akan muncul kedua bilangan tersebut.
Di script tahap1.php juga terdapat link yang menuju script next.php, dalam script ini juga akan menampilkan kedua bilangan yang telah kita inputkan.
next.php:
<?php
$bil1=$_POST[bil1];
$bil2=$_POST[bil2];
echo "Bilangan 1 = ".$bil1."<br />";
echo "Bilangan 2 = ".$bil2."<br />";
echo "<a href='next.php'>Klik Here</a>";
?>
Bagaiman jika kita mengklik link next.php tersebut kembali? Yap, kedua bialngan yang telah kita inputkan tadi tidak akan bisa terbaca. Kedua bilangan tersebut hanya bisa terbaca pada script tahap1.php saja.
Untuk mengatasi hal tersebut terdapat 2 solusi yang bisa kita gunakan, yakni menggunakan GET method atau SESSION.
Menggunakan GET method:
Caranya adalah menyisipkan parameter untuk kedua bilangan pada link menuju next.php. Selanjutnya dalam next.php, parameter kedua bilangan ini dapat dibaca nilainya.
<?php
$bil1=$_GET[bil1];
$bil2=$_GET[bil2];
echo "Bilangan 1 = ".$bil1."<br />";
echo "Bilangan 2 = ".$bil2."<br />";
echo "<a href='next.php'>Klik Here</a>";
?>
Kelemahan: Ditampilkannya nilai input sebagai parameter dalam URL link.
Menggunakan SESSION:
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 (belum ditutup) ataupun sengaja dinonaktifkan (dihapus) SESSIONnya, maka variabel SESSION akan tetap aktif.
Nilai yang disimpan dalam variabel SESSION ini bisa dibaca atau dikenali di beberapa halaman script. Beda dengan variabel biasa. Jika variabel biasa hanya dapat dikenali pada halaman script tersebut saja.
Selanjutnya bagaimana cara menyimpan nilai ke dalam suatu variabel SESSION? Sebelum mulai menyimpan, kita harus mengaktifkan SESSION nya terlebih dahulu menggunakan perintah
session_start();
Setelah SESSION aktif, baru kita bisa membuat variabel SESSION untuk menyimpan nilai. Berikut ini perintah untuk menyimpan sebuah nilai ke dalam variabel SESSION:
$_SESSION['namaSession'] = value;
Nilai yang bisa disimpan dalam SESSION ini bisa berupa bilangan, array, karakter maupun string.
Sehingga apabila konsep ini diterapkan pada contoh di atas, maka berikut ini adalah script submit.php yang telah dimodifikasi:
tahap1.php
<?php
session_start(); // mengaktifkan SESSION
$bil1 = $_POST['bil1'];
$bil2 = $_POST['bil2'];
// menyimpan kedua bilangan ke dalam SESSION
$_SESSION['bil1'] = $bil1;
$_SESSION['bil2'] = $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>"; ?>
Kemudian, bagaimana dengan script next.php nya? Bagaimana cara menampilkan nilai kedua bilangan yang disimpan dalam SESSION? Ini dia scriptnya:
next.php
<?php
session_start();
// membaca nilai dari variabel SESSION
$bil1 = $_SESSION['bil1'];
$bil2 = $_SESSION['bil2'];
echo "Anda memasukkan bilangan ke-1 : ".$bil1."<br />";
echo "Anda memasukkan bilangan ke-2 : ".$bil2."<br />";
?>
Keterangan: Dalam script lanjut.php di atas, kita tetap memberikan perintah session_start() karena dalam script lanjut.php ini kita masih memanfaatkan variabel SESSION.
Setelah belajar mengaktifkan SESSION, kita akan belajar cara menghapus variabel SESSION.
Cara 1:
Keluar dari browser (EXIT)
Cara 2:
Menggunakan perintah berikut ini:
untuk menghapus semua variabel SESSION:
session_destroy();
untuk menghapus suatu variabel SESSION tertentu:
unset($_SESSION['nama session']);
Nah sekarang apa sih wujud penerapan SESSION ini???
Biasanya SESSION digunakan untuk keperluan autentifikasi user melalui login. Ideanya apabila user sukses melakukan login, maka username akan disimpan dalam sebuah SESSION.
Mengapa username ini harus disimpan ke dalam SESSION? Dengan disimpannya username ke dalam SESSION sekaligus bisa digunakan untuk mencegah adanya penyusup yang masuk ke aplikasi tanpa melalui login.
Lho kok bisa? Ya.. untuk mengecek ada tidaknya penyusup yang masuk ke aplikasi tanpa login, bisa hanya dengan mengecek SESSION nya. Jika penyusup tadi masuk ke aplikasi tanpa login, otomatis SESSION nya belum ada, karena SESSION baru ada ketika user login dengan sukses.
1. Buatlah autentifikasi user dari suatu aplikasi web menggunakan konsep SESSION. Adapun username-username yang boleh mengakses aplikasi ini adalah
Username dan password di atas harus disimpan dalam sebuah ARRAY. Adapun konsepnya sama seperti pada pengerjaan soal no. 5 Bab 11.
Berikut ini gambaran aplikasinya:Terlebih dahulu buatlah sebuah desain halaman web dengan layout seperti di bawah ini:
Selanjutnya, bagi-bagilah layout tersebut ke dalam modul header.php dan footer.php Untuk halaman utama, tampilkan form login untuk user.
Selanjutnya bila login berhasil tampilkan halaman berikut ini (munculkan link navigasi)
Keterangan:
Login dikatakan berhasil bila password yang dimasukkan oleh seorang user melalui form login sama dengan password yang tersimpan dalam aplikasi (dalam hal ini password yang ada dalam array). XXX adalah username yang sukses login.
Untuk setiap halaman Link 1, 2, dan 3 berikut ini tampilannya
Catatan:
Aplikasi yang dibuat harus bisa menghandle apabila login salah, misalnya muncul keterangan “Password yang dimasukkan salah” bila username terdaftar namun passwordnya salah, atau “Username tidak terdaftar” bila usernamenya tidak terdaftar dalam aplikasi.
Bila password login salah atau user tidak terdaftar, maka menu link navigasi tidak ditampilkan
Aplikasi yang dibuat harus bisa menghandle adanya penyusup yang ingin langsung masuk ke halaman Link 1, 2 dan 3 tanpa melalui login (autentifikasi). Aplikasi yang dibuat harus bisa menghandle proses logout.
Program:
formlogin.php
<html>
<head>
<title> Form login </title>
</head>
<body>
<center>
<table width=90% border=1>
<tr>
<td colspan=2><center><b> Welcome to Form Login </b></center></br>
</tr>
<tr>
<td><center> Silahkan Login </center></br>
<center>
<form method="post" action="userpass.php">
Username <input type=text name=user><br>
Password <input type=password name=ps><br>
<input type=submit name=Submit value=submit>
<input type=reset name=Reset value=reset>
</form></center></td></tr>
<tr>
<td colspan=2><center><b> Copyright @alimafahmi.blogspot.com 2019 </b></center></br>
</td></tr>
</body>
</html>
userpass.php
<?php
session_start();
$_SESSION["nama"]=$_POST["user"];
$_SESSION["pass"]=$_POST["ps"];
?>
<?php
$name=$_POST["user"];
$rhs=$_POST["ps"];
switch($name)
{
case $name == 'A' && $rhs == 'password1';
case $name == 'B' && $rhs == 'password2';
case $name == 'C' && $rhs == 'password3';
case $name == 'D' && $rhs == 'password4';
case $name == 'E' && $rhs == 'password5';
{include "menu.php"; break;}
case $name == 'A' && $rhs != 'password1';
case $name == 'B' && $rhs != 'password2';
case $name == 'C' && $rhs != 'password3';
case $name == 'D' && $rhs != 'password4';
case $name == 'E' && $rhs != 'password5';
{echo "<b> Password Anda Salah </b>"; break;}
case $name != 'A' && $rhs == 'password1';
case $name != 'B' && $rhs == 'password2';
case $name != 'C' && $rhs == 'password3';
case $name != 'D' && $rhs == 'password4';
case $name != 'E' && $rhs == 'password5';
{echo "<b> Username Anda Salah </b>"; break;}
default : echo"<b> Anda Belum Memasukkan Username dan Password </b>";
}
?>
menu.php
<?php
session_start();
$username=$_SESSION["nama"];
?>
<html>
<head>
<title> alimafahmi </title>
</head>
<body>
<center>
<table width=90% border=1>
<tr>
<td colspan=2><center><b> SELAMAT DATANG JANGAN LUPA SENYUM </b></center></br>
<?php
echo "Username = $username";
?></td>
</tr>
<tr>
<td><center> CONTENTS </center></br>
<center>
<a href="malang.php">1. COOKIE </a><br>
<a href="jogja.php">2. ARRAY </a><br><br><br><br>
<a href="logout.php"> Logout </a><br>
</center></td></tr>
<tr>
<td colspan=2><center><b> Copyright @alimafahmi.blogspot.com 2019 </b></center></br>
</td></tr>
</body>
</html>
malang.php
<?php
session_start();
$username=$_SESSION["nama"];
?>
<html>
<head>
<title> alimafahmi </title>
</head>
<body>
<center>
<table width=90% border=1>
<tr>
<td colspan=2><center><b> SELAMAT DATANG JANGAN LUPA SENYUM </b></center></br>
<?php
echo "Username = $username";
?></td>
</tr>
<tr>
<td><center> CONTENTS </center></br>
<center>
<a href="malang.php">1. COOKIE </a><br>
<a href="jogja.php">2. ARRAY </a><br><br><br><br>
<center><b> COOKIE </b></center>
Sama halnya dengan SESSION, COOKIE merupakan suatu cara yang digunakan untuk
menyimpan value atau data supaya dapat dikenali di beberapa script halaman web.
Namun, keduanya memiliki perbedaan dalam segi letak penyimpanan.
SESSION akan disimpan dalam server web sedangkan COOKIE disimpan dalam komputer client. <br>
Kelebihan SESSION:<br>
User tidak bisa menghapus value yang tersimpan kecuali dirinya sendiri,
misal degan menutup browser atau ketika dalam proses logout.<br>
Kekurangan SESSION:<br>
Ketika tiba-tiba jaringan internetnya putus,
maka otomatis SESSION akan terhapus sehingga kita harus login kembali.<br>
Kelebihan COOKIE:<br>
Value akan tetap tersimpan meskipun jaringna internetnya putus atau dalam kondisi offline,
karena value pada COOKIE disimpan di komputer client.<br>
Kelemahan COOKIE:<br>
Value COOKIE dapat dihapus oleh orang lain yang juga menggunakan komputer tersebut
tau mungkin user komputer tersebut telah mengeset bahwa browsernya tidak bisa menerima COOKIE
sehingga COOKIE tidak bisa tersimpan dalam komputer client.<br>
<a href="logout.php"> Logout </a><br>
</td></tr>
<tr>
<td colspan=2><center><b> Copyright @alimafahmi.blogspot.com 2019 </b></center></br>
</td></tr>
</body>
</html>
jogja.php
<?php
session_start();
$username=$_SESSION["nama"];
?>
<html>
<head>
<title> alimafahmi </title>
</head>
<body>
<center>
<table width=90% border=1>
<tr>
<td colspan=2><center><b> SELAMAT DATANG JANGAN LUPA SENYUM </b></center></br>
<?php
echo "Username = $username";
?></td>
</tr>
<tr>
<td><center> CONTENTS </center></br>
<center>
<a href="malang.php">1. COOKIE </a><br>
<a href="jogja.php">2. ARRAY </a><br><br><br><br>
<center><b> ARRAY </b></center>
Selama ini bentuk variabel yang kita buat untuk menyimpan suatu nilai
hanya bisa untuk menyimpan sebuah nilai saja. Misal nih jika sebuah nilai
telah disimpan ke dalam sebuah variabel, selanjutnya variabel tersebut akan
diassign kembali dengan sebuah nilai yang lain, maka nilai yang sebelumnya akan
ditimpa oleh nilai yang baru.<br>
Nah, gimana jika kita ingin membuat variabel yang dapat diassign (disimpan)
oleh beberapa nilai yang lebih dari satu??<br>
Untuk menjawab pertanyaan di atas kita dapat menggunakan variabel bertipe data array.<br>
<a href="logout.php"> Logout </a><br>
</td></tr>
<tr>
<td colspan=2><center><b> Copyright @alimafahmi.blogspot.com 2019 </b></center></br>
</td></tr>
</body>
</html>
logout.php
<?php
session_start();
$_SESSION["nama"]=$_POST["user"];
$_SESSION["pass"]=$_POST["ps"];
?>
<html>
<head>
<title> alimafahmi </title>
</head>
<body>
<center>
<table width=90% border=1>
<tr>
<td colspan=2><center><b> SAMPAI JUMPA </b></center></br>
</td>
</tr>
<tr>
<td><center> CONTENTS </center></br>
<center>
<h2> Thank you and see you later </h2>
</center></td></tr>
<tr>
<td colspan=2><center><b> Copyright @alimafahmi.blogspot.com 2019 </b></center></br>
</td></tr>
</body>
</html>
<?php
session_destroy();
?>
Output:
Bila Terjadi Kesalahan Username
Bila Terjadi Kesalahan Password
Bila Tidak Memasukkan
"Find Your Own Way"
Komentar
Posting Komentar