Menyelesaikan Masalah Tetapan Kuki
Dalam skrip PHP, anda menghadapi masalah di mana kuki tidak berjaya ditetapkan. Mari kita siasat sebab dan penyelesaian yang berpotensi.
Fungsi Awal dan Pengambilan Kuki
Anda telah menentukan fungsi validateUser() yang muncul untuk menetapkan nilai sesi dan kuki. Walau bagaimanapun, adalah penting untuk ambil perhatian bahawa kuki harus ditetapkan sebelum sebarang output lain dihantar ke penyemak imbas. Ini kerana kuki ialah pengepala HTTP yang perlu disertakan dalam respons awal yang dihantar kepada klien.
Kandungan Kuki
Fungsi setcookie() dalam set fungsi anda kuki nama pengguna2 dengan nilai $nama pengguna dan tarikh tamat tempoh pada masa hadapan. Walau bagaimanapun, dalam kod mendapatkan kuki, anda menggunakan $_COOKIE['username2'] untuk mendapatkan semula nilai kuki. Pastikan anda menggunakan nama kuki yang betul untuk mendapatkan semula.
Laluan Kuki
Secara lalai, kuki adalah terhad kepada direktori semasa. Untuk menjadikan kuki boleh diakses di seluruh tapak, nyatakan laluan sebagai / semasa menetapkannya:
setcookie('username2', $username, time() + 60 * 60 * 24 * 365, '/');
Fungsi Urutan Panggilan
Anda telah menyebut bahawa anda memanggil validateUser () berfungsi dalam urutan tertentu berdasarkan hasil pertanyaan SQL. Pastikan fungsi dipanggil hanya apabila syarat dipenuhi dan kuki ditetapkan sebelum sebarang output dijana.
Pertimbangan Tambahan
Dengan menangani isu yang berpotensi ini, anda seharusnya berjaya menetapkan kuki dalam skrip PHP anda.
Atas ialah kandungan terperinci Mengapa Kuki PHP Saya Tidak Ditetapkan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!