MODUL 6 REDIRECT, SESSION & COOKIE PEMROGRAMAN WEB 2 TEKNIK INFORMATIKA UNIVERSITAS PASUNDAN BANDUNG 2015/2016
Redirect Halaman Redirect page atau pengalihan halaman adalah suatu cara yang digunakan untuk mengalihkan suatu halaman website menuju webpage lainnya. Cookie Cookie adalah informasi (biasanya kecil), yang dikirim oleh server kepada browser, yang kemudian dikirim kembali oleh browser ke server untuk request berikutnya. Cookie ini adalah sebuah Variable Global yang nilainya disimpan di Browser. Cara Kerja Cookie 1. Client / Browser mengirim HTTP Request 2. Server mengembalikan respon dengan menyertakan header Set-Cookie berisi pasangan key dan value yang kita tentukan 3. Client sekarang bisa mengirimkan request dengan menyertakan nilai yang sudah di-set tadi menggunakan cookie 4. Server mengembalikan respon Penulisan Cookie setcookie.php TEKNIK INFORMATIKA Universitas Pasundan Bandung 1
printcookie.php Menghapus Cookie Untuk menghapus cookie, set ulang cookie dengan nama yang sama isi valuenya dengan string kosong ( ) deletecookie.php Session Session adalah konsep abstrak untuk merepresentasikan interaksi antara browser / client dan server Sesssion Disimpan di server Session dibangun diatas cookie Setiap request, client mengirimkan cookie yang berisi session ID (PHPSESSID) Server menggunakan session ID tersebut untuk mencari data session Membuat Session Dalam pembuatan session diharuskan untuk memanggil fungsi session_start(); sebelum mencetak elemen HTML apapun startsession.php TEKNIK INFORMATIKA Universitas Pasundan Bandung 2
printsession.php deletesession.php TEKNIK INFORMATIKA Universitas Pasundan Bandung 3
Latihan Buat folder dengan nama NRP kalian masing-masing di dalam folder htdocs XAMPP kalian, lalu di dalamnya buat folder modul6 untuk menyimpan latihan dibawah ini. Pelajari sourcecode pertemuan 6 dan contoh sourcecode untuk login yang dapat didownload di website pw2.if-unpas.org di bagian download source code. 1. Buatlah sebuah folder dengan nama latihan1 yang berisi file-file pada latihan3 di modul sebelumnya, modifikasi aplikasi tersebut sehingga sekarang memiliki fasilitas login dengan spesifikasi sebagai berikut: - Buatlah halaman dengan nama login.php yang berisi form login, contohnya sebagai berikut: - Tentukan username dan password default (misalnya, username: admin, password: 123) - Jika username dan password SESUAI maka user akan diarahkan ke halaman index.php (Redirect) - Jika username dan password TIDAK SESUAI, maka akan tampil pesan kesalahan di halaman login TEKNIK INFORMATIKA Universitas Pasundan Bandung 4
- Jangan lupa untuk set SESSION dengan nama username di halaman login ketika username dan password sudah sesuai, sebelum user di REDIRECT ke halaman index.php - Ubah nama file latihan4.php menjadi profile.php lalu perbaiki link yang mengarah kesana - Cek apakah SESSION dengan nama username sudah pernah dibuat di tiap-tiap halaman yang ada (gunakan isset($_session[ username ]) ) Jika session BELUM ada di halaman index dan profile, itu berarti user belum login. Jika ada user yang mencoba mengakses halaman tersebut tanpa melalui login, maka redirect user ke halaman login Jika user telah login (session sudah diset), lalu user mencoba mengakses halaman login (baik itu menuliskan URL ataupun menekan tombol back setelah login), maka redirect user ke halaman index - Tambahkan tombol logout pada halaman index.php yang mengarah ke halaman logout.php - Buatlah halaman logout.php yang berfungsi menghapus session yang ada, lalu setelah itu arahkan user kembali ke halaman login - Contoh hasilnya dapat kalian lihat di http://pw2.if-unpas.org/modul6/latihan1/ 2. Tambahkan fasilitas remember me agar aplikasi dapat menyimpan informasi login meskipun browser telah di tutup. Copy-kan folder latihan1 lalu ubah namanya menjadi latihan2. - Tambahkan input berupa checkbox pada form login dengan nama remember. Beri label remember me TEKNIK INFORMATIKA Universitas Pasundan Bandung 5
- Modifikasi proses login, sehingga ketika user sudah memasukan username dan password yang benar, tidak hanya di set SESSION nya saja, namun juga setelah itu: Cek apakah remember me di-ceklis atau tidak dengan menggunakan (isset($_post[ remember ])) Jika di-ceklis, maka set 2 buah cookie dengan nama username dan password selama 1 minggu Jadi selama 1 minggu, jika user menutup browser, merestart atau mematikan komputer, selama dia belum logout maka ketika aplikasi dibuka, user tersebut tidak perlu login lagi - Di halaman login, sebelum mengecek apakah SESSION username sudah ada atau belum (seperti latihan1), cek dulu apakah COOKIE masih ada atau tidak jika masih ada, cek dulu apakah data pada COOKIE benar atau tidak (untuk menghindari pemalsuan data) jika sudah benar, isi SESSION username dengan COOKIE username baru setelah itu arahkan user ke halaman index - di halaman logout.php tambahkan juga skrip penghapusan COOKIE sebelum mengarahkan user kembali ke halaman login - Contoh hasilnya dapat kalian lihat di http://pw2.if-unpas.org/modul6/latihan2/ = Selamat Mencoba dan Belajar = Jangan malu bertanya kepada Asisten bila ada materi yang kurang dipahami. sandhikagalih@unpas.ac.id TEKNIK INFORMATIKA Universitas Pasundan Bandung 6