Kuki PHP
Mari kita ambil contoh kecil untuk menerangkan kuki
Apabila orang ramai mengadakan mesyuarat beberapa dekad yang lalu, mereka semua perlu membawa satu pas Penyertaan. Kad penyertaan ini mengandungi kedudukan, nama, unit, gambar dan maklumat lain seseorang. Semasa mesyuarat, mesyuarat anggota keselamatan dan penganjur hanya perlu menyemak maklumat yang berkaitan
.
Contoh kecil ini terutamanya menggambarkan perkara bahawa orang ramai membawa kad penyertaan mereka sendiri dan maklumat mereka sendiri. Corak ini ialah kuki.
Kuki sering digunakan untuk mengenal pasti pengguna. Kuki ialah fail kecil yang disimpan oleh pelayan pada komputer pengguna. Setiap kali komputer yang sama meminta halaman melalui penyemak imbas, kuki akan dihantar ke komputer. Dengan PHP, anda boleh mencipta dan mendapatkan semula nilai kuki.
Bagaimana untuk mencipta kuki? Fungsi
setcookie()
digunakan untuk menetapkan kuki. Nota: Fungsi setcookie() mesti diletakkan sebelum teg <html>
Tatabahasa
setcookie
(nama, nilai, tamat tempoh, laluan, domain)nama diperlukan. Menentukan nama kuki. nilai pilihan. Menentukan nilai kuki.
tamat tempoh Pilihan. Menentukan tempoh sah kuki.
laluan pilihan. Menentukan laluan pelayan untuk kuki.
domain pilihan. Menentukan nama domain untuk kuki.
Untuk fungsi ini, kami biasanya menggunakannya seperti ini: setcookie (nama kuki, nilai kuki, tempoh sah kuki), tiga sudah cukup
Contoh
Dalam contoh berikut, kami akan mencipta nama Untuk "pengguna" kuki, berikan nilai "Alex Porter". Kami juga menyatakan bahawa kuki ini tamat tempoh selepas satu jam: <?php
setcookie("user","Alex Porter",time()+3600);
?>
Nota: Apabila menghantar kuki, nilai kuki adalah pengekodan URL secara automatik , dinyahkodkan secara automatik pada perolehan semula (untuk mengelakkan pengekodan URL, gunakan setrawcookie() sebaliknya).
Anda juga boleh menetapkan masa tamat tempoh kuki dengan cara lain. Ini mungkin lebih mudah daripada menggunakan saat.
<?php $expire=time()+60*60*24*30; setcookie("user", "php", $expire); ?>Dalam contoh di atas, masa tamat tempoh ditetapkan kepada satu bulan (60 saat * 60 minit * 24 jam * 30 hari).
Bagaimana untuk mendapatkan semula nilai Cookie?
Pembolehubah $_COOKIE PHP digunakan untuk mendapatkan semula nilai kuki.
Dalam contoh berikut, kami mendapatkan semula nilai kuki bernama "pengguna" dan memaparkannya pada halaman:
<?php // 输出 cookie 值 echo $_COOKIE["user"] ."<br/>"; // 查看所有 cookie print_r($_COOKIE); ?>
Kami mencipta kuki bernama php di atas kuki, jadi program berjalan terhasil adalah seperti berikut:
php
Array ( [pgv_pvi] => [pengguna] => php )
Contoh
Dalam contoh berikut, Kami gunakan fungsi isset() untuk mengesahkan sama ada kuki telah ditetapkan:
<html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> </head> <body> <?php header("Content-type:text/html;charset=utf-8"); if (isset($_COOKIE["user"])) echo "欢迎 " . $_COOKIE["user"] . "!<br>"; else echo "普通访客!<br>"; ?> </body> </html>
Hasil pelaksanaan program:
Selamat datang ke php!
Bagaimana hendak memadam kuki?
Apabila memadamkan kuki, cuma tukar tarikh tamat tempoh kepada masa lalu
Contoh
Kuki bernama "pengguna" diberikan nilai "pengguna XX". Telah dinyatakan bahawa kuki ini akan tamat tempoh selepas satu jam:
<?php header("Content-type:text/html;charset=utf-8"); //设置编码 setcookie("user","XX用户",time()+3600); ?>
Jika anda ingin memadamkan kuki di atas, hanya tetapkan masa seperti berikut
<?php setcookie("user","",time()-3600); ?>
Jika penyemak imbas tidak menyokong kuki, ini apa yang perlu dilakukan?
Jika aplikasi anda perlu berurusan dengan penyemak imbas yang tidak menyokong kuki, maka anda perlu menggunakan kaedah lain untuk menghantar maklumat antara halaman dalam aplikasi anda. Satu cara adalah dengan menghantar data melalui borang (borang dan input pengguna telah dibincangkan dalam bab sebelumnya dalam tutorial ini).
Contoh
Borang berikut menyerahkan pengguna kepada "cookie_welcome.php" apabila pengguna mengklik butang "Serah" Input :
<html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> </head> <body> <form action="cookie_welcome.php" method="post"> 名字: <input type="text" name="name"> 年龄: <input type="text" name="age"> <input type="submit"> </form> </body> </html>Dapatkan nilai dalam fail "cookie_welcome.php", seperti yang ditunjukkan di bawah:
<?php header("Content-type:text/html;charset=utf-8"); echo "欢迎".$_POST['name'] ."<br>"; echo "你".$_POST['age'] ."岁了"; ?>Hasil pelaksanaan program:
Selamat datang liuqi
Anda berumur 23 tahun