MODUL 6 – Redirect,Session, dan Cookies Pemograman Web Teknik Informatika Universitas Pasundan Bandung 2016/2017
17 April 2017
Modul 6 – Redirect, Session, dan Cookies
Konten Redirect Halaman ............................................................................................................................. 2 Cookie ................................................................................................................................................... 2 Session .................................................................................................................................................. 4 Latihan .................................................................................................................................................. 5
Teknik Informatika – Universitas Pasundan Bandung
1|
Modul 6 – Redirect, Session, dan Cookies
17 April 2017
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
Teknik Informatika – Universitas Pasundan Bandung
2|
17 April 2017
Modul 6 – Redirect, Session, dan Cookies setCookie.php
printCookie.php
Menghapus Cookie
Untuk menghapus cookie, set ulang cookie dengan nama yang sama
isi valuenya dengan string kosong
deleteCookie.php
Teknik Informatika – Universitas Pasundan Bandung
3|
17 April 2017
Modul 6 – Redirect, Session, dan Cookies
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
printSession.php
deleteSession.php Teknik Informatika – Universitas Pasundan Bandung
4|
Modul 6 – Redirect, Session, dan Cookies
17 April 2017
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 di- download di website pw2.if-unpas.org di bagian download source code.
1.
Buatlah sebuah folder dengan nama ‘latihan1’ yang berisi file-file pada latihan2 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 ( bisa menggunakan tugas 5 sebelumnya ):
-- 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
5|
17 April 2017
-
Modul 6 – Redirect, Session, dan Cookies
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 latihan3.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 Teknik Informatika – Universitas Pasundan Bandung
6|
Modul 6 – Redirect, Session, dan Cookies
17 April 2017
‘remember’. Beri label ‘remember me’
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.
[email protected]
Teknik Informatika – Universitas Pasundan Bandung
7|