2017-06-15 82 views
-1

抱歉的問題,有一些例子,但我不明白。我的代碼不起作用。我的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

歡迎來到stackoverflow.com。請花些時間閱讀[幫助頁面](http://stackoverflow.com/help),尤其是名爲「[我可以在這裏詢問什麼主題?](http://stackoverflow.com/help/on -topic)「和」[我應該避免詢問什麼類型的問題?](http://stackoverflow.com/help/dont-ask)「。也請[參觀](http://stackoverflow.com/tour)並閱讀[如何提出好問題](http://stackoverflow.com/help/how-to-ask)。最後,請學習如何創建[最小,完整和可驗證示例](http://stackoverflow.com/help/mcve)。 – ArturFH

回答

1

$ _SESSION只能從一個運行PHP腳本訪問,而不是JavaScript onClick事件。所以你不能在沒有對PHP腳本進行GET或POST的情況下更改$ _SESSION中的值。

如果您希望可以進行AJAX調用並運行更新$ _SESSION中的值的腳本。在JavaScript中,您可以使用document.cookie來更改Cookie的值。

+0

非常感謝。 Cookie的作品,會話不會 –

+0

Rickard

+0

我很瞎!謝謝!!! –