Fungsifungsi tambahan dalam PHP Session dan Cookie 1
Fungsi-fungsi tambahan dalam PHP Session dan Cookie 1
fopen() <html> <body> <? PHP $file = fopen("welcome. txt", "r") or exit("Unable to open file!"); ? > </body> </html> • Digunakan untuk membuka file • Parameter pertama dari fungsi ini berisi nama file yang akan dibuka • Parameter kedua menentukan modus file • Jika fungsi fopen() tidak dapat membuka file yang ditentukan, maka fungsi ini akan mengembalikan 0 (false) 2
Mode File Mode Deskripsi r Read only. Dimulai pada awal file r+ Read/Write. Dimulai pada awal file w Write only. Membuka dan membersihkan isi file; atau membuat file baru jika tidak ada w+ Read/Write. Membuka dan membersihkan isi file; atau membuat file baru jika tidak ada a Append. Membuka dan menulis ke akhir file atau membuat file baru jika tidak ada a+ Read/Append. Mempertahankan isi file dengan menulis ke akhir file x Write only. Membuat file baru. Returns FALSE dan error jika file sudah ada x+ Read/Write. Membuat file baru. Returns FALSE dan error jika file sudah ada 3
fclose() <? PHP $file = fopen("test. txt", "r"); //some code to be executed fclose($file); • Digunakan untuk menutup file yang terbuka ? > 4
feof() if (feof($file)) echo "End of file"; • Memeriksa apakah“end-of-file” (EOF) telah tercapai • Berguna untuk perulangan melalui data yang panjangnya tidak diketahui • Tidak dapat membaca file yang dibuka dengan modus w, a, dan x 5
fget() <? PHP $file = fopen("welcome. txt", "r") or exit("Unable to open file!"); //Output a line of the file until the end is reached while(!feof($file)) { echo fgets($file). " "; } fclose($file); ? > • Digunakan untuk membaca file baris per baris • Setiap fungsi dipanggil, pointer akan pindah ke baris berikutnya 6
fgetch() <? PHP $file = fopen("welcome. txt", "r") or exit("Unable to open file!"); while (!feof($file)) { echo fgetc($file); } fclose($file); ? > • Digunakan untuk membaca file karakter per karakter • Setiap fungsi dipanggil, pointer akan pindah ke karakter berikutnya • 7
Upload File Form <html> <body> <form action="upload_file. php" method="post“ enctype="multipart/formdata"> <label for="file"> Filename: </label> <input type="file" name="file" id="file"> <input type="submit" name="submit" value="Submit"> </form> </body> </html> • Memungkinkan user untuk mengupload file • Memberikan manfaat yang besar, tapi beresiko cukup besar • Hanya trusted user yang diperbolehkan untuk meng-upload file 8
$_FILES • Digunakan untuk meng-upload file dari komputer klien ke server • Parameter pertama berupa nama dari form input file • Parameter kedua dapat berupa: name, type, size, tmp_name, dan error <? php if ($_FILES["file"]["error"] > 0) { echo "Error: ". $_FILES["file"]["error"]. " "; } else { echo "Upload: ". $_FILES["file"]["name"]. " "; echo "Type: ". $_FILES["file"]["type"]. " "; echo "Size: ". ($_FILES["file"]["size"] / 1024). "k. B "; echo "Stored in: ". $_FILES["file"]["tmp_name"]; } ? > 9
Parameter $_FILES Parameter Deskripsi $_FILES["file"]["name"] Nama file $_FILES["file"]["type“] Tipe file $_FILES["file"]["size"] Ukuran file (kilobytes) $_FILES["file"]["tmp_name“] nama salinan sementara dari file yang tersimpan di server $_FILES["file"]["error"] Error code yang dihasilkan pada proses upload 10
file_exists() if (file_exists("upload/". $_FILES["file"]["name"])) { echo $_FILES["file"]["name"]. " already exists. "; } • Memeriksa keberadaan file dalam folder penyimpanan 11
move_uploaded_file() else { move_uploaded_file($_FILES["file"]["tmp_name"], "upload/". $_FILES["file"]["name"]); echo "Stored in: ". "upload/". $_FILES["file"]["name"]; } • Menyimpan file upload dalam folder penyimpanan 12
COOKIE DAN SESSION 13
Perbedaan Session dan Cookie Session Cookie Data disimpan di server Data disimpan di client (browser) Tidak dapat diberi waktu expired Dapat diberi waktu expired 14
Apa itu Cookie? • Cookie sering digunakan untuk mengidentifikasi pengguna • Cookie adalah file kecil yang ditanam server pada komputer pengguna • Harus disimpan SEBELUM tag <html> • Nilai cookie secara otomatis akan di URL encode saat dikirim, dan didecode saat diterima • Untuk mecegah URL encoding gunakan setrawcookie() sebagai gantinya 15
setcookie() Setcookie (name, value, expire, path, domain); 16
Contoh membuat Cookie 1 <? php setcookie("user", “Budi Susanto", time()+3600); ? > <html>. . . 17
Contoh membuat Cookie 2 <? php $expire=time()+60*60*24*30; setcookie("user", “Budi Susanto", $expire); ? > <html>. . . 18
$_COOKIE <? php // Print a cookie echo $_COOKIE["user"]; // A way to view all cookies print_r($_COOKIE); ? > • Digunakan untuk mengambil nilai cookie 19
Contoh Mengambil Nilai Cookie <html> <body> <? php if (isset($_COOKIE["user"])) echo "Welcome ". $_COOKIE["user"]. "! "; else echo "Welcome guest! "; ? > </body> </html> • Fungsi isset() untuk mengetahui apakah cookie telah dibentuk 20
Menghapus Cookie <? php // set the expiration date to one hour ago setcookie("user", "", time()-3600); ? > 21
Variabel Session • Menyimpan informasi pengguna pada server untuk berbagai kepentingan seperti: username, item belanja, dll. • Session bersifat temporer, akan dihapus saat pengguna meninggalkan situs web • Untuk berbagai kepentingan dapat disimpan dalam database agar bersifat permanen • Menciptakan ID unik(UID) untuk setiap visitor dan menyimpan variabel berdasarkan UID • UID dapat disimpan dalam cookie ataupun disebar dalam URL • Diletakkan SEBELUM tag <html> 22
session_start() <? php session_start(); ? > <html> <body> • Memulai PHP-Session </body> </html> 23
$_SESSION <? php session_start(); // store session data $_SESSION['views']=1; ? > • Menyimpan dan mengambil variabel session <html> <body> <? php //retrieve session data echo "Pageviews=". $_SESSION['views']; ? > </body> </html> 24
unset() <? php session_start(); if (isset($_SESSION['views'])) unset($_SESSION['views']); ? > • Digunakan untuk menghapus sebagian data session 25
session_destroy() <? php session_destroy(); ? > • Mereset semua data dan menghapus semua data session yang tersimpan • Biasanya menghapus data session yang terkait dengan user name diterapkan pada proses logout. Dengan proses logout, maka username yang telah tersimpan dalam session akan terhapus. 26
move_uploaded_file() else { move_uploaded_file($_FILES["file"]["tmp_name"], "upload/". $_FILES["file"]["name"]); echo "Stored in: ". "upload/". $_FILES["file"]["name"]; } • Menyimpan file upload dalam folder penyimpanan 27
28
- Slides: 28