我的网站标题中有消息块。当用户点击“关闭味精”时,该消息应该消失并且在当前用户会话期间看不到。 所以我决定使用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