我的網站標題中有消息塊。當用戶點擊「關閉味精」時,該消息應該消失並且在當前用戶會話期間看不到。 所以我決定使用jQuery的Ajax:無法通過AJAX更改會話變量
$('#lang-msg .close').on('click', function(event) {
event.preventDefault();
$.ajax({
url:"remlmsg.php",
type:"POST",
data:"id=2,myajaxquery=true ",
success:function(html){
console.log(html);
$('#lang-msg').fadeOut(300,function() {
$(this).remove();
})
}
})
})
而且在remlmsg.php我只有代碼,它定義了新的會話變量:
$_SESSION['langmsg'] = 'hide';
echo $_SESSION['langmsg'];
在header.php文件我檢查$ _SESSION ['langmsg']未定義。
if (!isset($_SESSION['langmsg'])) {
if ($sLanguage == 'ru') {
echo '<script type="text/javascript">
$(function() {
showLangMessage("en");
})
</script>';
}
}
它說永遠是真的!但是當我在ajax函數中打印請求數據時,它顯示'隱藏'。 請向我解釋一下,我錯了。
P.S. 在本地服務器上測試(最新的WAMP)
你是否在文件頂部使用session_start? –
我在header.php文件中有 – onlydimon