Chapter 11 PHP Lanjut PHP Session and Cookies





















![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.](https://slidetodoc.com/presentation_image_h/30b46c02eac81cd1b7074db06549b4f7/image-22.jpg)



- Slides: 25
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 minggu lalu – Tampil – Insert – Update/Edit – Delete
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? • 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
Cookies
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 – 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 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 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 : – %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 • 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: <? php $expire=time()+3600; setcookie("user", “Faiz", $expire); ? >
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 • 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 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 • 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 $_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 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. 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 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.
Presentasikan • • Progress Tugas Besar Hambatan/Kendala Diskusikan Bersama Solusi