Rumah >pembangunan bahagian belakang >tutorial php >Mengapa $_COOKIE Tidak Mencerminkan `setcookie()` Serta-merta, dan Bagaimana Saya Boleh Mengaksesnya Serta-merta?

Mengapa $_COOKIE Tidak Mencerminkan `setcookie()` Serta-merta, dan Bagaimana Saya Boleh Mengaksesnya Serta-merta?

DDD
DDDasal
2024-12-11 07:22:18164semak imbas

Why Doesn't $_COOKIE Reflect `setcookie()` Immediately, and How Can I Access It Instantly?

Mengakses Nilai Kuki Selepas Setcookie() Invocation

Apabila anda cuba mengakses nilai kuki menggunakan $_COOKIE sejurus selepas memanggil setcookie() fungsi, ia mungkin kelihatan seolah-olah $_COOKIE['uname'] tidak ditetapkan. Ini berlaku kerana kuki tidak tersedia serta-merta selepas ditetapkan.

Sebabnya ialah kuki tidak ditetapkan sehingga respons dihantar semula kepada pelanggan. PHP tidak mempunyai akses kepada kuki sehingga permintaan seterusnya dibuat oleh pelanggan.

Mengakses Kuki Dengan Segera

Untuk memintas isu ini, anda boleh menetapkan secara manual nilai kuki dalam $_COOKIE selepas memanggil setcookie(). Ini membolehkan anda mengakses nilai kuki serta-merta dalam skrip yang sama:

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

Dengan menetapkan kuki dalam penyemak imbas dan manual dalam $_COOKIE, anda boleh mengakses nilainya dengan segera selepas menetapkannya menggunakan setcookie() .

Atas ialah kandungan terperinci Mengapa $_COOKIE Tidak Mencerminkan `setcookie()` Serta-merta, dan Bagaimana Saya Boleh Mengaksesnya Serta-merta?. 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