在AJAX中设置php $ _SESSION变量

时间:2017-06-15 17:07:35

标签: ajax

对不起问题,有一些例子,但我无法得到它。我的代码不起作用。我的test.php文件:

<?php
session_start();
?><!DOCTYPE html>
<html>
<body>
<button onclick="doTheFunction();">Run the script</button>
<script>
function doTheFunction(){
    xmlhttp = new XMLHttpRequest();
    xmlhttp.open("POST","set.php",true);
    xmlhttp.send();
}
</script>
<?php echo $_SESSION['w'];?> /*after button onclick and page refresh session 
shoud be set*/
</body>
</html>

我的set.php文件:

<?php
session_start();
$_SESSION['w'] = 'abc';
?>

未设置会话:/

1 个答案:

答案 0 :(得分:1)

$ _ SESSION只能从正在运行的PHP脚本而不是JavaScript onClick事件中访问。因此,如果不对PHP脚本执行GET或POST,则无法更改$ _SESSION中的值。

如果您需要,可以执行AJAX调用并运行更新$ _SESSION中的值的脚本。在JavaScript中,您可以使用 document.cookie 来更改Cookie的值。