Chapter 11 PHP Lanjut PHP Session and Cookies

  • Slides: 25
Download presentation
Chapter 11 PHP Lanjut PHP Session and Cookies File Upload, PHP Database Muhammad Nur

Chapter 11 PHP Lanjut PHP Session and Cookies File Upload, PHP Database Muhammad Nur Faiz Aditya Wijayanto

Kuis • Implementasikan CRUD dengan PHP pada halaman Web dengan Database yang telah dibuat

Kuis • Implementasikan CRUD dengan PHP pada halaman Web dengan Database yang telah dibuat minggu lalu – Tampil – Insert – Update/Edit – Delete

PHP State‐Statefull • Stateful adalah kemampuan situs untuk mempertahankan state (keadaan) • Pada interaksi

PHP State‐Statefull • Stateful adalah kemampuan situs untuk mempertahankan state (keadaan) • Pada interaksi statefull, membuat sebuah website dapat menyimpan keadaan seorang user walaupun komunikasi data di jaringan tetap menggunakan HTTP

Penggunaan PHP State • Bagaimana pengguna tetap logged‐in ketika dia berpindah‐ pindah halaman? •

Penggunaan PHP State • Bagaimana pengguna tetap logged‐in ketika dia berpindah‐ pindah halaman? • Bagaimana keranjang belanja pengguna tetap tersimpan ketika pengguna tersebut melihat – lihat barang di halaman lain untuk ditambahkan ke keranjang belanja tersebut ?

Pembentukkan PHP State • PHP State dapat dibentuk menggunakan : – Cookies – Session

Pembentukkan PHP State • PHP State dapat dibentuk menggunakan : – Cookies – Session

Cookies

Cookies

Cookies • Cookie adalah file kecil yang diletakkan oleh server pada komputer pengguna •

Cookies • Cookie adalah file kecil yang diletakkan oleh server pada komputer pengguna • Cookie dikirim setiap kali pengguna mengakses web yang menjadi pemilik cookie tersebut, sehingga, ukuran cookie perlu diperhatikan supaya tidak membebani jaringan secara berlebihan • Ketika kita mendefinisikan suatu cookie, maka kita menentukan berapa lama cookie tersebut valid. Jika telah melampaui waktu valid (expires), maka cookie tersebut akan dihapus

Penggunaan Cookies • Cookies bisa digunakan untuk : – Otentifikasi – Melacak User –

Penggunaan Cookies • Cookies bisa digunakan untuk : – Otentifikasi – Melacak User – Mempertahankan preferensi user, shopping chart dll • Data cookie berisi pasangan name/value yang dikirim melalui header dari request HTTP (Post/Get)

Cara Kerja Cookies • Saat browser meminta page, server dapat mengirim cookies bersamaan dengan

Cara Kerja Cookies • Saat browser meminta page, server dapat mengirim cookies bersamaan dengan page tersebut • Jika server sebelumnya sudah mengirimkan cookies, browser akan mengirimkannya bersamaan dengan request

Jenis Cookies • Session cookies : tipe default, cookie sementara yang hanya disimpan di

Jenis Cookies • Session cookies : tipe default, cookie sementara yang hanya disimpan di memory browser • Ketika browser ditutup, cookies ini akan terhapus • Tidak bisa digunakan untuk melacak informasi yang lama • Lebih aman, karena tidak ada program yang bisa mengaksesnya (kecuali browser itu sendiri) • Persistent Cookies : cookies yang disimpan pada sebuah file yang ada di komputer browser – Bisa melacak informasi yang bisa bertahan lama – Berpotensial untuk tidak aman, sebab user / program, bisa membuka file tersebut atau mengubah isi cookies nya

Penyimpanan Cookies • IE : – C: Documents and SettingsadministratorCookies • Firefox : –

Penyimpanan Cookies • IE : – C: Documents and SettingsadministratorCookies • Firefox : – %APPDATA%MozillaFirefox? ? ? . defaultcookies. txt – Dimana ? ? ? adalah karakter acak • Chrome : – C: Users<User Name>App. DataLocalGoogleChrome User Data

Serba‐Serbi Cookies • Cookies bisa digunakan untuk melacak kebiasaan kita dalam melihat suatu situs

Serba‐Serbi Cookies • Cookies bisa digunakan untuk melacak kebiasaan kita dalam melihat suatu situs • Cookie dapat Digunakan sebagai media untuk memata‐‐matai aktivitas pengguna, misalnya seberapa sering pengguna mengakses, kapan waktu aksesnya, link apa saja yang di‐‐klik, dsb • Untuk alasan tertentu, dapat mengaktifkan atau me‐non‐ aftifkan penggunaan cookie pada web browser yang digunakan

Buat Cookies • Membuat cookies dengan menggunakan perintah setcookie(name, value, expiration). • Contoh: <?

Buat Cookies • Membuat cookies dengan menggunakan perintah setcookie(name, value, expiration). • Contoh: <? php $expire=time()+3600; setcookie("user", “Faiz", $expire); ? >

Session • Session adalah konsep abstrak yang merepresentasikan interaksi antara browser dan server •

Session • Session adalah konsep abstrak yang merepresentasikan interaksi antara browser dan server • Beda session dan cookies – Cookies adalah data yang disimpan di client – Data session disimpan di server (1 session per user) • Session biasanya dibangun diatas cookies • Setiap permintaan page, client mengirim cookie yang berisi session ID , dan server menggunakan session ID ini untuk mencari dan menerima data session ‐nya • Data session ID ini bisa disimpan oleh browser dalam bentuk cookie

Session • Session merupakan kombinasi dari client‐side session ID + server‐ side session data

Session • Session merupakan kombinasi dari client‐side session ID + server‐ side session data • Client‐side session ID dapat berupa parameter URL, cookie, atau HTTP request header • Cara yang paling umum adalah menggunakan cookie untuk menyimpan client‐side session ID • Server‐side session data dapat disimpanpada file maupun basis data • Session dapat digunakan untuk menyimpan data berukuran sangat besar, sedangkan cookie hanya dapat menyimpan data berukuran kecil (karena dibatasi oleh web browser)

Cara Kerja Session • Pertama‐tama browser melakukan request ke server • Server mengetahui IP

Cara Kerja Session • Pertama‐tama browser melakukan request ke server • Server mengetahui IP client, kemudian memberikan data session yang akan dikirim lagi ke client dalam bentuk session ID • Untuk interaksi selanjutnya client mengirim session ID tersebut ke server • Server menggunakan session ID ini untuk mendapatkan data client yang disimpan di database server

Pengelolaan Session • Session adalah suatu mekanisme menyimpan data yang tersimpan pada sisi server

Pengelolaan Session • Session adalah suatu mekanisme menyimpan data yang tersimpan pada sisi server • Session dapat digunakan untuk mengirimkan data ke beberapa halaman web • Session dimulai dengan fungsi session_start(); • Memberi nilai session $_SESSION[‘name’] = value; • Mengosongkan variabel‐variabel session_unset(); • Menghapus session_destroy();

Contoh Sintaks <? php ? > // inisialisasi session_start(); // memberi nilai awal session

Contoh Sintaks <? php ? > // inisialisasi session_start(); // memberi nilai awal session $_SESSION['name'] = ‘telkom’; $_SESSION['address'] = ‘berkoh, pwt’; // menampilkan semua variabel session print_r($_SESSION); // menghapus / memberi nilai kosong session_unset(); Session_destroy();

Sintaks upload. html <!DOCTYPE html> <body> <form action="upload. php" method="post" enctype="multipart/form‐ data"> Select image

Sintaks upload. html <!DOCTYPE html> <body> <form action="upload. php" method="post" enctype="multipart/form‐ data"> Select image to upload: <input type="file" name="file. To. Upload" id="file. To. Upload"> <input type="submit" value="Upload Image" name="submit"> </form> </body> </html>

Upload. php <? php $target_dir = "uploads/"; $target_file = $target_dir. basename($_FILES["file. To. Upload"]["name"]); $upload.

Upload. php <? php $target_dir = "uploads/"; $target_file = $target_dir. basename($_FILES["file. To. Upload"]["name"]); $upload. Ok = 1; $image. File. Type = pathinfo($target_file, PATHINFO_EXTENSION); if(isset($_POST["submit"])) { $check = getimagesize($_FILES["file. To. Upload"]["tmp_name"]); if($check !== false) { echo "File is an image ‐ ". $check["mime"]. ". "; $upload. Ok = 1; } else { echo "File is not an image. "; $upload. Ok = 0; } } ? >

File Upload (Opening File) File Mode Description r open for reading w open for

File Upload (Opening File) File Mode Description r open for reading w open for writing (erases existing content); creates new file if one doesn'texist a open for appending to end of content; creates new file if one doesn't exist x create and open for writing (new in PHP 4. 3. 2) r+ open for reading and writing (erases existing content when file is written to) w+ open for writing and reading (erases existing content on opening orcreates new file if one doesn't exist a+ open for appending and writing; creates new file if one doesn'texist x+ create and open for writing and reading (new in PHP 4. 3. 2)

Praktikum • Login dengan Cookies dan Session • File Upload gambar.

Praktikum • Login dengan Cookies dan Session • File Upload gambar.

Presentasikan • • Progress Tugas Besar Hambatan/Kendala Diskusikan Bersama Solusi

Presentasikan • • Progress Tugas Besar Hambatan/Kendala Diskusikan Bersama Solusi