对不起问题,有一些例子,但我无法得到它。我的代码不起作用。我的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';
?>
未设置会话:/
答案 0 :(得分:1)
$ _ SESSION只能从正在运行的PHP脚本而不是JavaScript onClick事件中访问。因此,如果不对PHP脚本执行GET或POST,则无法更改$ _SESSION中的值。
如果您需要,可以执行AJAX调用并运行更新$ _SESSION中的值的脚本。在JavaScript中,您可以使用 document.cookie 来更改Cookie的值。