<?php
session_start();
if(isset($_SESSION['views']))
$_SESSION['views']=$_SESSION['views']+1;
else
$_SESSION['views']=1;
echo "Views=". $_SESSION['views'];
echo '<br>'."<a href='destroy.php'>Set Counter1</a>";
?>
上面的代码是维护一个计数器,每次用户刷新页面时它都会增加。我想做同样的工作,但使用JavaScript但无法找到任何在线帮助PLZ
答案 0 :(得分:1)
如果刷新页面,javascript将再次加载并从零开始。您必须使用AJAX(与您的PHP脚本结合使用)或使用cookie来使计数数字持久化。在此页面上,您可以找到一个小教程:http://www.quirksmode.org/js/cookies.html
答案 1 :(得分:1)
我们必须首先弄清楚你到底想要达到的目标。 JavaScript在客户端的浏览器中运行,因此它无法以任何方式改变服务器上的$ _SESSION。如果您希望仅在客户端保留此计数器,请尝试setting a cookie via JavaScript。另一种选择是将计数器存储在服务器会话上并通过AJAX递增。依赖于JavaScript工作的问题是它们不可靠,因为客户端总是可以选择禁用JavaScript。也许更好的选择是嵌入一个iframe,它以PHP脚本为目标,增加计数器......
答案 2 :(得分:0)
刷新后,JavaScript无法记住任何变量。您必须将计数保存在服务器或客户端计算机上 如果您希望将计数存储在客户端,则可以使用localstorage:
window.onberforeunload=function(){
localStorage.loads++;
return true;
}
或使用cookies:
window.onbeforeunload=function(){
document.cookie="NAME; VALUE; EXPIRE";
}
请注意,localstorage仅适用于HTML5
的新浏览器