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


Meneruskan pembelajaran
||
<?php setcookie("user","Alex Porter",time()+3600); ?>
  • Cadangan kursus
  • Muat turun perisian kursus