Tôi cũng đã thiết kế một "php phiên giá trị setter" giải pháp của bản thân mình (tương tự như giải pháp Luke Dennis'. Không có vấn đề lớn ở đây), nhưng sau khi cài đặt giá trị phiên tôi, nhu cầu của tôi là " nhảy lên tệp .php khác ". Ok, tôi đã làm điều đó, bên trong mã jquery của tôi ... Nhưng một cái gì đó không hoàn toàn công việc ...
Vấn đề của tôi là loại dễ dàng:
-Sau khi "$ .post" giá trị của bạn lên tệp .php nhỏ, bạn nên đợi một số giá trị trả về "thành công/thất bại" và CHỈ SAU ĐỌC KẾT QUẢ THÀNH CÔNG NÀY, thực hiện bước nhảy. Nếu bạn ngay lập tức nhảy lên cái lớn tiếp theo.Tệp php, giá trị phiên của bạn có thể chưa được đặt vào công cụ chạy phiên php, và bạn có thể sẽ đọc "trống" khi thực hiện $ _SESSION ["my_var"]; từ tệp .php đích.
Trong trường hợp của tôi, để sửa chữa tình huống đó, tôi đã thay đổi jQuery $ .post mã của tôi theo cách này:
$.post('set_session_value.php', { key: 'keyname', value: 'myvalue'}, function(ret){
if(ret==0){
window.alert("success!");
location.replace("next_page.php");
}
else{
window.alert("error!");
}
});
Tất nhiên, "set_session_value.php" tập tin của bạn, nên trở lại 'echo "0"; 'hoặc' echo "1"; '(hoặc bất kỳ giá trị thành công nào bạn có thể cần).
Chúc mừng.
Thiếu session_start(); trên backend khác hơn thế, đây là mẹo tuyệt vời! Cảm ơn Luke ... – Codex73