Rumah >pembangunan bahagian belakang >tutorial php >Mengapakah Kuki PHP Tidak Tersedia Segera Selepas `setcookie()`?

Mengapakah Kuki PHP Tidak Tersedia Segera Selepas `setcookie()`?

Linda Hamilton
Linda Hamiltonasal
2024-12-14 05:25:14845semak imbas

Why are PHP Cookies Not Immediately Available After `setcookie()`?

Memahami Penampilan Tertunda Nilai Kuki dalam $_COOKIE

Apabila cuba mendapatkan nilai kuki serta-merta selepas menggunakan fungsi setcookie() dalam PHP, anda mungkin menghadapi isu di mana $_COOKIE['uname'] kekal tidak ditentukan. Ini berlaku kerana kuki tidak dibuat seketika sehingga respons HTTP dihantar kepada klien.

Sebab kelewatan ini ialah kuki PHP bergantung pada pengepala HTTP Set-Cookie, yang disertakan dalam pengepala respons. Apabila setcookie() dipanggil, ia menambah pengepala Set-Cookie pada respons, tetapi pengepala itu sebenarnya tidak dihantar kepada klien sehingga skrip selesai dilaksanakan.

Walau bagaimanapun, anda boleh mengatasi had ini secara manual menetapkan nilai $_COOKIE['uname'] selepas memanggil setcookie():

setcookie('uname', $uname, time() + 60 * 30);
$_COOKIE['uname'] = $uname;

Dengan menetapkan $_COOKIE nilai secara manual, kuki menjadi tersedia untuk digunakan dalam skrip anda serta-merta. Ini membolehkan anda mengakses nilai kuki tanpa perlu bergantung pada permintaan seterusnya daripada pelanggan.

Atas ialah kandungan terperinci Mengapakah Kuki PHP Tidak Tersedia Segera Selepas `setcookie()`?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn