Lab Modul 08 - PHP Session
Lab Modul 08 - PHP Session
IF-3P2
Praktikum Pemrograman Web
Modul 8
PHP Session
SKS : 1 SKS
Waktu : 100’
Modul ke : 1
A. Tujuan
1.
D. Perangkat keras yang diperlukan: Komputer
Buatlah halaman login (hal-login.php) untuk memasukkan nama dan password seperti pada gambar
berikut ini.
Buatlah halaman untuk mencocokkan nama dan password yang tadi dimasukkan (hal-check.php).
Dalam file tersebut, tersimpan serangkaian pasangan nama dan password (misal:
$kode_rahasia["nama"]="password";). Jika nama tidak ada (fungsi array_key_exists()dapat
digunakan) maka akan muncul pesan berikut ini:
Jika pasangan nama ada, namun nama dan password tidak cocok, maka akan muncul pesan berikut
ini.
Jika nama dan password cocok, user akan diarahkan ke hal-isi.php seperti tampak pada gambar
berikut ini. Catatan: gunakan header("Location: ")untuk berpindah ke halaman tersebut.
Soal Nomor 2
Lanjutkan soal nomor 1. Pada hal-isi.php, tambahkan form untuk memasukkan warna tulisan dan
warna latar seperti pada gambar berikut ini.
Warna yang dimasukkan akan dikirim ke hal-cookie.php. Kedua warna tersebut disimpan dengan
menggunakan setcookie(). Catatan: Untuk warna pertama (tulisan), gunakan gabungan nama user
dan -w1 sebagai id (misal: buddyholly-w1). Untuk warna kedua (background), gunakan gabungan
nama user dan –w2 sebagai id (misal: buddyholly-w2).
Untuk membaca cookie, id yang digunakan sama dengan yang tersimpan tadi, yaitu gabungan nama
user dan –w1 atau –w2. Misal: $simpan1 = $_SESSION['nama']."-w1"; Gunakan id tersebut
untuk membaca cookie yang tadi tersimpan. Misal: $warna1 = $_COOKIE[$simpan1];
Kedua warna yang dibaca dari cookie tadi digunakan untuk menentukan warna tulisan dan
background (dengan menerapkan CSS pada body dan tabel untuk form). Hasilnya dapat dilihat pada
gambar berikut ini (misal: tulisan merah, background biru).
Cobalah untuk login dengan beberapa nama yang lain dan menyimpan kombinasi warna yang
berbeda. Perhatiakan apa yang terjadi.
Jawaban
Catatan: Kerjakan yang wana hitam terlebih dahulu. Warna biru merupakan jawaban untuk soal nomor 2.
hal-login.php
<?php
xxxxxxxxxxx( );
session_destroy( );
?>
<html>
<head><title>Login</title><head>
<body>
<tr>
<td>Nama</td>
</tr>
<tr>
<td>Password</td>
</tr>
<tr>
<td> </td>
</tr>
</table>
</form>
<br>
</body> </html>
hal-check.php
<?php
session_start( );
$vnama = xxxxxxxxxx;
$vpasswd = xxxxxxxxxx;
$kode_rahasia["ratno"]="123456";
$kode_rahasia["thomas"]="mastom";
$kode_rahasia["kevin"]="vinkev";
$kode_rahasia["buddyholly"]="b2";
if (array_key_exists(xxxxxxxxxx, xxxxxxxxxx))
echo "berhasil";
$_SESSION['status'] = 'OK';
$_SESSION['nama'] = xxxxxxxxxx;
header("Location: xxxxxxxxxxx");
else
} // if nama = passwd
else
?>
<html>
<head><title>Login</title><head>
<body>
</body>
</html>
hal-isi.php
<?php
session_start( );
if (isset($_SESSION['status']))
else
$_SESSION['status']=" ";
$warna1 = "black";
$warna2 = "white";
$simpan2=$_SESSION['nama']."-w2";
if(isset(xxxxxxxxxx))
if(isset($_COOKIE[$simpan2]))
$warna2 = $_COOKIE[$simpan2];
?>
<html>
<head><title>Login</title><head>
<body style="color: <?php echo $warna1; ?> ; background: <?php echo $warna2;
?>;">
</p>
<p> </p>
<tr>
</tr>
<tr>
<td>Tulisan</td>
<td><input type="text" size="20" name="warna1"></td>
</tr>
<tr>
<td>Latar</td>
</tr>
<tr>
<td> </td>
</tr>
</table>
</form>
<p> </p>
<p><br>
<a href="hal-login.php">Logout</a></p>
</body>
</html>
hal-cookie.php
<?php
session_start( );
$vwarna1 = xxxxxxxxxx;
$vwarna2 = xxxxxxxxxx;
$vnama = $_SESSION['nama'];
$simpan2 = $vnama."-w2";
setcookie(xxxxxxxxxx, $vwarna2);
xxxxxxxxxx("Location: hal-login.php");
?>