Manual belajar ...login
Manual belajar kendiri lengkap PHP
pengarang:php.cn  masa kemas kini:2022-04-15 13:53:54

Kuki PHP



Kuki sering digunakan untuk mengenal pasti pengguna.


Apakah itu 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 terletak sebelum teg <html>

Sintaks

setcookie(name, value, expire, path, domain);

Contoh 1

Dalam contoh berikut, kami akan mencipta kuki bernama "pengguna" , dan tetapkan nilai "php". Kami juga menyatakan bahawa kuki ini tamat tempoh selepas satu jam:

<?php
setcookie("user", "php", time()+3600);
?>
<html>
.....

Nota: Nilai kuki ditukar secara automatik apabila kuki dihantar. Pengekodan URL, dinyahkod secara automatik apabila diperoleh semula. (Untuk mengelakkan pengekodan URL, gunakan setrawcookie() sebaliknya.)

Contoh 2

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);
?>
<html>
.....
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"];
// 查看所有 cookie
print_r($_COOKIE);
?>
Dalam contoh berikut, kami menggunakan fungsi isset() untuk mengesahkan sama ada kuki telah ditetapkan:
<html>
<head>
<meta charset="utf-8">
<title>php中文网(php.cn)</title>
</head>
<body>
<?php
if (isset($_COOKIE["user"]))
echo "欢迎 " . $_COOKIE["user"] . "!<br>";
else
echo "普通访客!<br>";
?>
</body>
</html>

Bagaimana hendak memadam kuki?

Apabila memadamkan kuki, anda harus menukar tarikh tamat tempoh kepada satu titik masa pada masa lalu.

Instance yang dipadamkan:

<?php
// 设置 cookie 过期时间为过去 1 小时
setcookie("user", "", time()-3600);
?>

Bagaimana jika penyemak imbas tidak menyokong kuki?

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 diliputi dalam bab sebelumnya dalam tutorial ini).

Borang berikut menyerahkan input pengguna kepada "welcome.php" apabila pengguna mengklik butang "Serah":

<html>
<head>
<meta charset="utf-8">
<title>php中文网(php.cn)</title>
</head>
<body>
<form action="welcome.php" method="post">
名字: <input type="text" name="name">
年龄: <input type="text" name="age">
<input type="submit">
</form>
</body>
</html>
mendapatkan semula Nilai fail "welcome.php", seperti berikut :
<html>
<head>
<meta charset="utf-8">
<title>php中文网(php.cn)</title>
</head>
<body>
欢迎 <?php echo $_POST["name"]; ?>.<br>
你 <?php echo $_POST["age"]; ?> 岁了。
</body>
</html>

Laman web PHP Cina