Pengatur Cookie Dasar



Fungsi PHP untuk pengaturan cookie disebut:

setcookie ()

Ini adalah fungsi PHP yang dapat digunakan tanpa mengembalikan nilai (misalnya, Anda cukup menjalankan sebuah setcookie ()) perintah, atau Anda dapat mengambil nilai kembali dan menggunakannya. Para setcookie () fungsi mengembalikan nilai (true atau false) boolean tergantung pada apakah itu adalah sukses. Jadi Anda bisa menjalankan:

if (setcookie ())
{
echo "set cookie";
}
lain
{
echo "Cookie tidak diatur";
}

Untuk keperluan tutorial ini, meskipun, kita tidak akan menggunakan nilai kembali, bukan hanya pengaturan cookie.

Informasi yang paling dasar untuk cookie adalah nama itu dan itu nilai. Nama cookie harus menjadi sesuatu yang Anda dapat menyebutnya kemudian sebagai. Anda tidak perlu khawatir tentang hal itu bentrok dengan situs lain sebagai nama cookie situs tertentu tetapi Anda harus mencoba dan menggunakan nama deskriptif dan unik untuk cookie.

Untuk contoh pertama ini, asumsikan bahwa Anda telah menggunakan PHP untuk memuat nama pengguna ke dalam variabel $ nama dan ingin menyapa pengguna di masa depan dengan nama mereka. Anda akan perlu untuk membuat sebuah cookie yang menyimpan nama mereka sebagai berikut:

setcookie ("UsersName", $ nama);

Hal ini menciptakan yang paling dasar cookie, menyimpan nama pengguna dalam cookie disebut 'UsersName'. Dengan menetapkan cookie seperti ini, Anda tidak menetapkan opsi khusus, jadi secara default cookie akan tersedia pada domain di mana ia didirikan (misalnya yoursite.com) dan akan dihapus bila pengguna menutup browser mereka.

Membaca Nilai Cookie

PHP membuatnya sangat sederhana untuk membaca nilai dari cookie. Dalam PHP, nilai bentuk membaca yang dicapai dengan menggunakan $ _GET dan $ _POST. PHP memiliki variabel global yang sama untuk cookie:

$ _COOKIE ['CookieName'];

Variabel ini berisi nilai cookie dengan nama 'CookieName'. Jadi di website Anda, jika Anda ingin menampilkan nama user, Anda hanya bisa menggunakan berikut:

echo "Halo," $ _COOKIE ['UsersName'].. "Selamat datang kembali!";

Tentu saja, pengguna tidak mungkin sudah memiliki cookie, sehingga Anda harus menggunakan isset fungsi PHP. Hal ini mengembalikan nilai true jika variabel telah ditetapkan dan false jika tidak. Dengan ini, situs Anda bisa lakukan hal berikut:

if (isset ($ _COOKIE ['UsersName'])
{
echo "Halo," $ _COOKIE ['UsersName'].. "Selamat datang kembali!";
}
lain
{
setcookie ("UsersName", $ nama);
}
Cookie Pengaturan

Meskipun kode yang saya berikan kepada Anda memungkinkan Anda untuk menetapkan cookie sederhana pada komputer pengguna, tidak sangat kuat karena, misalnya, itu hilang ketika browser ditutup. Salah satu fitur yang paling kuat dari cookie adalah kemampuan untuk menetapkan dan Tanggal kadaluarsa untuk cookie. Cookie akan tetap pada komputer pengguna sampai dengan tanggal kadaluwarsa, maka secara otomatis akan menghapus sendiri.

Untuk mengatur cookie dengan tanggal kadaluwarsa, gunakan:

setcookie ("UsersName", $ nama, waktu () 3600);

Kode ini mengambil waktu saat ini (menggunakan waktu ()) dan kemudian menambahkan 3600 detik untuk itu, dan menggunakan nilai ini untuk ditetapkan sebagai batas waktu berakhirnya cookie. Pada dasarnya ini berarti bahwa cookie akan tetap pada komputer pengguna selama satu jam (itu berakhir 3600 detik (1 jam) dari waktu saat ini). Selama satu minggu (misalnya), Anda akan menetapkan cookie sebagai:

setcookie ("UsersName", $ nama, waktu () 604.800);

Ada tiga pilihan lain yang dapat digunakan saat mengatur cookie. Pertama jalan. Ini mengacu ke mana dalam domain Anda dapat mengakses cookie di masa depan. Secara default ini adalah cu
rrent direktori (jadi jika Anda menetapkan cookie di halaman: www.mysite.com / scripts / setcookie.php, itu hanya akan tersedia untuk script di direktori script dan bawah). Anda dapat mengatur ini untuk setiap bagian dari situs Anda, meskipun, yang dapat berguna dalam beberapa situasi.

Pengaturan kedua Anda dapat mengubah adalah domain. Secara default, cookie hanya tersedia dalam domain Anda mengaturnya dalam, misalnya jika Anda menetapkan cookie di www.mysite.com Anda dapat hanya pernah mengaksesnya dari www.mysite.com (dan tidak mail.mysite.com dll .). Kebutuhan yang paling umum untuk mengubah pengaturan ini adalah untuk memungkinkan cookie untuk dilihat di semua subdomain dari sebuah situs. Hal ini dapat dilakukan dengan menetapkan domain ke. Yoursite.com (dengan kedua s.). Dengan melakukan ini anything.yoursite.com diterima, bukan hanya www.yoursite.com.

Akhirnya, cookie memiliki pilihan untuk ditetapkan sebagai cookie aman. Jika ini diaktifkan, maka cookie hanya akan diserahkan ke situs melalui koneksi yang aman, bukan satu tidak aman.

Kode berikut menunjukkan imiplementation dari cookie dengan semua pengaturan yang ditentukan:

setcookie ("UsersName", $ nama, waktu () 3600, "/", "mysite.com.", 1);

Cookie diatur di sini, disebut 'UsersName' dan lagi menyimpan nilai $ nama. Ini akan berakhir satu jam dari waktu sekarang. Ini tersedia dalam semua direktori dari situs (/ adalah direktori root). Ini tersedia di setiap subdomain dari situs mysite.com sebagai '. Mysite.com' telah diberikan sebagai domain. The 1 akhir berarti bahwa ini adalah cookie aman, dan hanya dapat ditularkan melalui sambungan aman. Ini akan menjadi 0 untuk cookie (tidak aman) standar.

Menghapus Cookies

Ada saat di mana Anda mungkin ingin menghapus cookie dari komputer pengguna. Ini bisa jadi jika, misalnya, Anda ingin log pengguna keluar dari sistem (mungkin mereka berada di komputer publik). Menghapus cookie cukup sederhana untuk dilakukan karena semua yang harus Anda lakukan adalah untuk menetapkan batas waktu berakhirnya di masa lalu. Dengan melakukan ini, cookie akan dihapus secara otomatis segera setelah dibuat, dan akan menghapus data yang sudah ada di sana. Cara paling mudah adalah menggunakan:

setcookie ("UsersName", "", time () -3600);

Ini mengatur waktu berakhir di masa lalu jadi harus segera dihapus. Juga tidak ada informasi yang disimpan dalam cookie.

Ada masalah yang dikenal dengan hal ini, meskipun. Meskipun bekerja dalam banyak kasus, dapat terjadi masalah jika zona waktu pengguna diatur secara salah. Cara paling aman untuk benar-benar menghapus cookie adalah dengan menggunakan berikut:

setcookie ("UsersName", "", mktime (12,0,0,1, 1, 1990));

Para mktime () fungsi adalah fungsi PHP untuk menyiapkan waktu yang ditentukan. Waktu yang ditentukan di sini adalah pada tahun 1990, bahkan sebuah komputer dikonfigurasi masih harus menghapus cookie segera.

Kesimpulan

Ini bagian pendek dari tutorial harus mencakup semua informasi yang Anda akan perlu mengatur, mengelola dan menghapus cookie di PHP. Menggunakan teknik lain scripting PHP Anda dapat menyimpan lebih banyak data dalam cookie (misalnya menggunakannya untuk berinteraksi dengan database). Semua informasi di sini, meskipun, harus memungkinkan Anda untuk melakukan hampir apapun yang Anda perlu dengan cookie Anda. Jika Anda ingin belajar tentang cookie dengan bahasa pemrograman lain, informasi yang sama tersedia di bagian lain dari tutorial untuk mereka.