praktikum 3 cookie, session, dan database mysqlblog.ub.ac.id/rohman/files/2012/11/bab-3.pdf · ini...

7
Modul Pemrogaman Internet Periode 2011/2012 1 Praktikum 3 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 : 1 2 3 4 <?php $value = 'something from somewhere'; setcookie("TestCookie", $value, time()+3600); ?> 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 : <?php setcookie("user", "", time()-3600); ?> 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 : 1 2 3 <?php session_start(); // start up your PHP session! ?>

Upload: phamthien

Post on 29-Mar-2019

233 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Praktikum 3 Cookie, Session, dan Database MySQLblog.ub.ac.id/rohman/files/2012/11/Bab-3.pdf · Ini dikarenakan bahwa cookie mempunyai umur atau masa disimpan dalam komputer user

Modul Pemrogaman Internet Periode 2011/2012 1

Praktikum 3Cookie, 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. CookieCookie 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 :1234

<?php$value = 'something from somewhere';setcookie("TestCookie", $value, time()+3600);

?>

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 :

<?phpsetcookie("user", "", time()-3600);?>

b. SessionSession 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 :123

<?phpsession_start(); // start up your PHP session!

?>

Page 2: Praktikum 3 Cookie, Session, dan Database MySQLblog.ub.ac.id/rohman/files/2012/11/Bab-3.pdf · Ini dikarenakan bahwa cookie mempunyai umur atau masa disimpan dalam komputer user

Modul Pemrogaman Internet Periode 2011/2012 2

Lalu untuk membuat sebuah session adalah dengan contoh sebagai berikut :12345

<?phpsession_start(); $_SESSION['views'] = 1; // store session dataecho "Pageviews = ". $_SESSION['views']; //retrieve data

?>

Maksud dari kode diatas adalah kita telah membuat sebuah session dengan nama “views” dan nilainya adalah 1.Untuk menghapus session kita bisa menggunakan fungsi sebagai berikut :12345

<?phpsession_start(); if(isset($_SESSION['cart']))

unset($_SESSION['cart']); ?>

Atau1234

<?phpsession_start(); session_destroy();

?>

c. MySQLMySql 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 Diskripsiservername Diisi dengan nama host tempat database diinstal, sebagai isian default adalah

localhost, karena asumsi awal adalah database diinstal di komputer yang sama dengan webserver

username Diisi dengan username untuk database, defaultnya adalah “root”password Diisi dengan password untuk database, defaultnya adalah “”

Dan untuk menutup koneksi dengan menggunakanmysql_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 1Tuliskan kode berikut, simpan dalam file Lat3_1a.php.123

<?phpsetcookie("user", "Alex Porter", time()+3600);

?>

Page 3: Praktikum 3 Cookie, Session, dan Database MySQLblog.ub.ac.id/rohman/files/2012/11/Bab-3.pdf · Ini dikarenakan bahwa cookie mempunyai umur atau masa disimpan dalam komputer user

Modul Pemrogaman Internet Periode 2011/2012 3

Lalu tuliskan kode berikut, simpan dalam file Lat3_1b.php.123

<?phpecho $_COOKIE["user"];

?>

Panggil file Lat3_1a.php pada browser, setelah itu jalankan juga Lat3_1b.php. Amati apa yang terjadi, tuliskan hasil dari eksekusi kedua file tersebut !--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Lalu restart komputer, setelah komputer kembali nyala, lalu jalankan file Lat3_1b.php(dengan browser yang sama dengan proses sebelumnya). Apa yang terjadi? Simpulkan!--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Latihan 2Tuliskan kode berikut, simpan dalam file Lat3_2a.php.1234567891011121314

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/><title>Untitled Document</title>

</head><body> <form id="form1" name="form1" method="post" action="Lat3_2b.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 Lat3_2b.php.12345

<?php session_start();

$_SESSION["nama"] = $_POST["nama"];header("location:Lat3_2c.php");

?>

Tuliskan kode berikut, simpan dalam file Lat3_2c.php.12345678910111213141516

<?phpsession_start();if (empty($_SESSION["nama"]))

echo "Maaf, anda belum memasukkan nama";else {

?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head> <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/> <title>Hello, <?php echo $_SESSION["nama"] ?> </title></head><body>

Selamat datang <?php echo $_SESSION["nama"] ?>, <br /> Anda bisa masuk halaman ini karena anda telah menulis nama.

Page 4: Praktikum 3 Cookie, Session, dan Database MySQLblog.ub.ac.id/rohman/files/2012/11/Bab-3.pdf · Ini dikarenakan bahwa cookie mempunyai umur atau masa disimpan dalam komputer user

Modul Pemrogaman Internet Periode 2011/2012 4

1718

<form id="form1" name="form1" method="post" action="Lat3_2d.php"> <input type="submit" name="button" id="button" value="Keluar" /> </form></body></html><?php } ?>

Tuliskan kode berikut, simpan dalam file Lat3_2d.php.12345

<?phpsession_start();session_destroy();header("location:Lat3_2a.php");

?>

Jalankan file Lat3_2c pertama kali, apakah yang tampil di browser dan mengapa tampil tulisan tersebut?----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------Jalankan file Lat3_2a, 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 3Buatlah tabel berikut pada database:

Isikan beberapa record berikut:1. Username: “Andi”, password: “123”, level:”1”2. Username: “Anton”, password: “321”, level:”0”

Kemudian buatlah file koneksi.php yang berisi:1234567

<?php$namahost = "localhost";$username = "root";$password = "root"; //password MySQL anda$database = "Modul"; //database andamysql_connect($namahost,$username,$password) or die("Failed");mysql_select_db($database) or die("Database not exist");

?>

Page 5: Praktikum 3 Cookie, Session, dan Database MySQLblog.ub.ac.id/rohman/files/2012/11/Bab-3.pdf · Ini dikarenakan bahwa cookie mempunyai umur atau masa disimpan dalam komputer user

Modul Pemrogaman Internet Periode 2011/2012 5

Tuliskan kode berikut, simpan dalam file Lat3_3.php.12345678910111213141516171819202122

<?phpinclude "koneksi.php";

$q = mysql_query ("SELECT * FROM user");echo "<form action=\"Lat3_4.php]\" method=\"POST\">

<input type=\"submit\" value=\"tambah user\" /></form>";

echo "<table border=\"1\"> <th>Username</th>

<th>Password</th> <th>level</th> <th>aksi</th>";

while ($hasil = mysql_fetch_array($q))echo " <tr>

<td>$hasil[username]</td> <td>$hasil[password]</td> <td>$hasil[level]</td>

<td><a href=\"Lat3_4.php?username=$hasil[username]&e=1\">Edit</a></td>

</tr>"; echo "</table>"?>

Apa guna koneksi.php? Dan apa hubungannya dengan baris 2 dari Lat_3?------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------Apa guna dari baris 18-19 Lat_3? Apa yang dilakukan link (“lokasi yang ditunjuk href”) tersebut?------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Latihan 4Tulis kode berikut dan simpan dengan nama Lat3_4.php

123456789101112131415161718192021

<?phpinclude "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 "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head> <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/> <title><?php echo $title ?></title></head>

<body>

Page 6: Praktikum 3 Cookie, Session, dan Database MySQLblog.ub.ac.id/rohman/files/2012/11/Bab-3.pdf · Ini dikarenakan bahwa cookie mempunyai umur atau masa disimpan dalam komputer user

Modul Pemrogaman Internet Periode 2011/2012 6

22232425262728293031323334353637383940414243444546

<h1><?php echo $title ?> </h1><form method="post" action="Lat3_5.php"><input type=”hidden” name=”e” value=”<?php echo $data[‘username’] ?>”/> <table border="1"> <tr> <td>Username</td> <td><input name="username" type="text"

value="<?php echo $data[‘username’] ?>"/></td> </tr> <tr> <td>Password</td> <td><input name="password" type="text"

value="<?php echo $data['password'] ?>"/></td> </tr> <tr> <td>Level</td> <td><input name="level" type="text"

value="<?php echo $data['level'] ?>"/></td> </tr> <tr> <td colspan="2"><input type="submit" value="Submit" /></td> </tr> </table></form></body></html>

Jalankan Lat3_3 di browser kemudian tekan tombol “Tambah User” dan link “Edit” untuk membuka Lat3_4. Apa yang terjadi?------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------Baris manakah dari Lat3_4 yang membedakan aksi yang terjadi jika tombol “Tambah User” dan link “Edit” dari Lat3_3 ditekan? Jelaskan baris tersebut!------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Latihan 5Tulis kode berikut dan simpan dengan nama Lat3_5.php123456789101112131415

<?phpinclude "koneksi.php";$e = $_POST['e'];if (empty($e))

mysql_query("INSERT INTO user VALUES ('$_POST[username]', '$_POST[password]', '$_POST[level]')");

elsemysql_query("UPDATE user SET password = '$_POST[password]',

level = '$_POST[level]'WHERE username = '$_POST[username]'");

header("location:Lat3_3.php");?>

Page 7: Praktikum 3 Cookie, Session, dan Database MySQLblog.ub.ac.id/rohman/files/2012/11/Bab-3.pdf · Ini dikarenakan bahwa cookie mempunyai umur atau masa disimpan dalam komputer user

Modul Pemrogaman Internet Periode 2011/2012 7

Apakah guna dari Lat3_5? Halaman manakah yang mengakses Lat3_5?------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------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 Administratoro Dapat melakukan login dengan menggunakan md5o Terdapat halaman homeo Menampilkan seluruh postingo Dapat melakukan tambah, hapus, edit postingo Terdapat fitur upload foto pada form postingo Menampilkan seluruh komentar pada suatu postingo Dapat melakukan hapus komentar

Fitur pada tampilan depano Menampilkan seluruh postingano Menampilkan foto pada suatu postingo Dapat mengomentari suatu postingo Menampilkan komentar pada suatu posting