Praktikum Cookie, Session, dan Database MySQL Tujuan Praktikum : Memberikan pemahaman kepada mahasiswa tentang cookie dan bagaimana menggunakannya. Memberikan pemahaman kepada mahasiswa tentang session dan bagaimana menggunakannya. Memberikan pemahaman kepada mahasiswa tentang database MySql dan tata cara mendapatkan/menampilkan data dari database. I. Dasar Teori a. Cookie Cookie adalah sebuah nilai yang dikirimkan dan ditanamkan server pada komputer client. Biasanya informasi-informasi yang disimpan dalam cookie ini adalah informasi yang berkaitan dengan user. PHP menyediakan sebuah fungsi untuk membuat dan membaca cookie yang sudah tersimpan di komputer user. Cookie mempunyai umur, artinya adalah setiap data yang kita simpan dalam komputer user suatu saat bisa hilang atau musnah. Ini dikarenakan bahwa cookie mempunyai umur atau masa disimpan dalam komputer user. Untuk membuat cookie, PHP menyediakan fungsi yaitu : setcookie(name, value, expire); dengan detail parameter adalah : - Name, untuk nama cookie, yang mana digunakan sebagai pengenal cookie. - Value, berisi nilai yang akan disimpan dalam cookie. - Expire, waktu dimana cookie akan dihapus. Contoh penggunaan fungsi tersebut misalnya adalah : $value = 'something from somewhere'; setcookie("testcookie", $value, time()+00); Untuk membaca cookie berikut sintaknya : $_COOKIE[ nama_cookie ]; Dan untuk menghapus nilai cookie adalah dengan cara mengisikan nilai dari parameter expire-nya dengan satu jam yang lalu, berikut contohnya : setcookie("user", "", time()-00); b. Session Session pada prinsipnya hampir sama dengan cookie, hanya saja yang membedakan adalah posisi penyimpanan datanya berbeda. Data session disimpan pada komputer server. Untuk menggunakan session dalam PHP, maka ada kode yang harus kita tuliskan diawal dokumen PHP, yaitu : // start up your PHP session! Modul Pemrogaman Internet Periode 0/0
Lalu untuk membuat sebuah session adalah dengan contoh sebagai berikut : $_SESSION['views'] = ; // store session data echo "Pageviews = ". $_SESSION['views']; //retrieve data Maksud dari kode diatas adalah kita telah membuat sebuah session dengan nama views dan nilainya adalah. Untuk menghapus session kita bisa menggunakan fungsi sebagai berikut : if(isset($_session['cart'])) unset($_session['cart']); Atau session_destroy(); c. MySQL MySql adalah database gratis yang sering digunakan bersamaan dengan PHP. Untuk bisa mengakses maka kita harus melakukan koneksi dulu kepada database. PHP menyediakan fungsi untuk melakukan koneksi database MySql yaitu : mysql_connect(servername,username,password); Parameter servername username password Diskripsi Diisi dengan nama host tempat database diinstal, sebagai isian default adalah localhost, karena asumsi awal adalah database diinstal di komputer yang sama dengan webserver Diisi dengan username untuk database, defaultnya adalah root Diisi dengan password untuk database, defaultnya adalah Dan untuk menutup koneksi dengan menggunakan mysql_close(); Setelah berhasil dalam melakukan koneksi dengan database server, maka kita harus memilih nama database yang akan kita gunakan dengan fungsi sebagai berikut : mysql_select_db("my_db", $con); Lalu untuk mengeksekusi SQL, kita bisa menggunakan fungsi sebagai berikut : mysql_query("query string"); Di mana setelah kita jalankan fungsi tersebut diatas, hasilnya akan bisa kita tampilkan pada halaman web. II. Materi Praktikum Latihan Tuliskan kode berikut, simpan dalam file Lat_a.php. setcookie("user", "Alex Porter", time()+00); Modul Pemrogaman Internet Periode 0/0
Lalu tuliskan kode berikut, simpan dalam file Lat_b.php. echo $_COOKIE["user"]; Panggil file Lat_a.php pada browser, setelah itu jalankan juga Lat_b.php. Amati apa yang terjadi, tuliskan hasil dari eksekusi kedua file tersebut! ----------------------------------------------------------------------------------------------------------------Lalu restart komputer, setelah komputer kembali nyala, lalu jalankan file Lat_b.php (dengan browser yang sama dengan proses sebelumnya). Apa yang terjadi? Simpulkan! -------------------------------------------------------------------------------------------------------------Latihan Tuliskan kode berikut, simpan dalam file Lat_a.php. 0 <!DOCTYPE html PUBLIC "-//WC//DTD XHTML.0 Transitional//EN" "http://www.w.org/tr/xhtml/dtd/xhtml-transitional.dtd"> <html xmlns="http://www.w.org//xhtml"> <head> <meta http-equiv="content-type" content="text/html; charset=utf-"/> <title>untitled Document</title> </head> <body> <form id="form" name="form" method="post" action="lat_b.php"> Nama: <input type="text" name="nama" id="nama" /> <input type="submit" name="button" id="button" value="masuk" /> </form> </body> </html> Tuliskan kode berikut, simpan dalam file Lat_b.php. $_SESSION["nama"] = $_POST["nama"]; header("location:lat_c.php"); Tuliskan kode berikut, simpan dalam file Lat_c.php. 0 if (empty($_session["nama"])) echo "Maaf, anda belum memasukkan nama"; else { <!DOCTYPE html PUBLIC "-//WC//DTD XHTML.0 Transitional//EN" "http://www.w.org/tr/xhtml/dtd/xhtml-transitional.dtd"> <html xmlns="http://www.w.org//xhtml"> <head> <meta http-equiv="content-type" content="text/html;charset=utf-"/> <title>hello, echo $_SESSION["nama"] </title> </head> <body> Selamat datang echo $_SESSION["nama"], <br /> Anda bisa masuk halaman ini karena anda telah menulis nama. Modul Pemrogaman Internet Periode 0/0
<form id="form" name="form" method="post" action="lat_d.php"> <input type="submit" name="button" id="button" value="keluar" /> </form> </body> </html> } Tuliskan kode berikut, simpan dalam file Lat_d.php. session_destroy(); header("location:lat_a.php"); Jalankan file Lat_c pertama kali, apakah yang tampil di browser dan mengapa tampil tulisan tersebut? ---------------------------------------------------------------------------------------------------------------Jalankan file Lat_a, isi nama dan klik Masuk, apakah yang terjadi? Halaman apakah yang muncul? Jelaskan urutan proses hingga sampai di halaman yang sekarang tampil di browser! -------------------------------------------------------------------------------------------------------------Klik tombol Keluar dari halaman yang tampil, kemudian klik tombol back pada browser. Apa yang terjadi dan mengapa hal tersebut terjadi? -------------------------------------------------------------------------------------------------------------Latihan Buatlah tabel berikut pada database: Isikan beberapa record berikut:. Username: Andi, password:, level:. Username: Anton, password:, level: 0 Kemudian buatlah file koneksi.php yang berisi: $namahost = "localhost"; $username = "root"; $password = "root"; //password MySQL anda $database = "Modul"; //database anda mysql_connect($namahost,$username,$password) or die("failed"); mysql_select_db($database) or die("database not exist"); Modul Pemrogaman Internet Periode 0/0
Tuliskan kode berikut, simpan dalam file Lat_.php. 0 0 include "koneksi.php"; $q = mysql_query ("SELECT * FROM user"); echo "<form action=\"lat_.php]\" method=\"post\"> <input type=\"submit\" value=\"tambah user\" /> </form>"; echo "<table border=\"\"> <th>username</th> <th>password</th> <th>level</th> <th>aksi</th>"; while ($hasil = mysql_fetch_array($q)) echo " <td>$hasil[username]</td> <td>$hasil[password]</td> <td>$hasil[level]</td> <td><a href=\"lat_.php?username=$hasil[username]&e=\">edit</a></td> "; echo "</table>" Apa guna koneksi.php? Dan apa hubungannya dengan baris dari Lat_? --------------------------------------------------------------------------------------------------------------Apa guna dari baris - Lat_? Apa yang dilakukan link ( lokasi yang ditunjuk href ) tersebut? --------------------------------------------------------------------------------------------------------------Latihan Tulis kode berikut dan simpan dengan nama Lat_.php 0 0 include "koneksi.php"; $e = $_GET['e']; if (empty($e)) $title = "Tambah User"; else { $title = "Edit User"; $q = mysql_query("select * FROM user WHERE username='$_get[username]'"); $data = mysql_fetch_array($q); } <!DOCTYPE html PUBLIC "-//WC//DTD XHTML.0 Transitional//EN" "http://www.w.org/tr/xhtml/dtd/xhtml-transitional.dtd"> <html xmlns="http://www.w.org//xhtml"> <head> <meta http-equiv="content-type" content="text/html;charset=utf-"/> <title> echo $title </title> </head> <body> Modul Pemrogaman Internet Periode 0/0
0 0 <h> echo $title </h> <form method="post" action="lat_.php"> <input type= hidden name= e value= echo $data[ username ] /> <table border=""> <td>username</td> <td><input name="username" type="text" value=" echo $data[ username ] "/></td> <td>password</td> <td><input name="password" type="text" value=" echo $data['password'] "/></td> <td>level</td> <td><input name="level" type="text" value=" echo $data['level'] "/></td> <td colspan=""><input type="submit" value="submit" /></td> </table> </form> </body> </html> Jalankan Lat_ di browser kemudian tekan tombol Tambah User dan link Edit untuk membuka Lat_. Apa yang terjadi? Baris manakah dari Lat_ yang membedakan aksi yang terjadi jika tombol Tambah User dan link Edit dari Lat_ ditekan? Jelaskan baris tersebut! Latihan Tulis kode berikut dan simpan dengan nama Lat_.php include "koneksi.php"; $e = $_POST['e']; if (empty($e)) mysql_query("insert INTO user VALUES ('$_POST[username]', '$_POST[password]', '$_POST[level]')"); else 0 mysql_query("update user SET password = '$_POST[password]', level = '$_POST[level]' WHERE username = '$_POST[username]'"); header("location:lat_.php"); Modul Pemrogaman Internet Periode 0/0
Apakah guna dari Lat_? Halaman manakah yang mengakses Lat_? Darimanakah isi variabel $e diperoleh dan apakah guna variabel $e? TUGAS KELOMPOK Buatlah sebuah CMS(Content Management System) sederhana untuk mengatur konten pada sebuah blog. Yang memiliki ketentuan seperti berikut Terdiri dari dua halaman tampilan yaitu halaman administrator (halaman untuk mengatur konten blog) dan halaman tampilan depan(halaman untuk menampilkan konten blog) Fitur pada halaman Administrator o Dapat melakukan login dengan menggunakan md o Terdapat halaman home o Menampilkan seluruh posting o Dapat melakukan tambah, hapus, edit posting o Terdapat fitur upload foto pada form posting o Menampilkan seluruh komentar pada suatu posting o Dapat melakukan hapus komentar Fitur pada tampilan depan o Menampilkan seluruh postingan o Menampilkan foto pada suatu posting o Dapat mengomentari suatu posting o Menampilkan komentar pada suatu posting Modul Pemrogaman Internet Periode 0/0