Garip bir problemle karşı karşıyayım. $_COOKIE['cookieName']
'u ayarlayan bir PHP dosyasına bir AJAX gönderiyorum. O ana dosyada bu çerezi ekliyorum.
Sorun: AJAX'ı işleyen PHP dosyası, görünüm dosyasıyla aynı klasördeyse, $_COOKIE['cookieName']
ekoyu doğrular. Ancak farklı dizini'a taşıyorsam, Ajax yanıtı başarılı bir şekilde geçecektir, ancak '$ _COOKIE' hiçbir zaman ayarlanmadığı veya bulunmadığı gibi görüntüleme dosyasında yankılanmayacaktır. AJAX kolları
Dosya:
$exp = time()+ 3600;
setcookie("cookieName", "tiger", $exp);
if(isset($_COOKIE['cookieName'])) {
echo "Ajax Response: " .$_COOKIE["cookieName"]. " cookie is set";
} else if(!isset($_COOKIE['cookieName'])) {
echo "Ajax Response: Session NOT SET";
}
görünüm dosyası:
<script>
$(document).ready(function(){
var boxText = "test";
$.ajax({
type: "POST",
url: "login.php",
//login.php is in the same directory, so $_COOKIE will echo below.
// If I moved the file to folder/login.php AJAX will come back successfully, but $_COOKIE won't echo...
data: {sendValue: boxText, ajaxSent: true},
success: function(response){
console.log(response);
}
});
});
</script>
<div >
Cookie name is.....<?php echo $_COOKIE['cookieName'];?>
</div>
http://stackoverflow.com/questions/612034/how-can-i-set-a-cookie-and-then-redirect-in-php/612106#612106 –