我有一个页面,action.php在该页面上我通过代码运行SQL查询,以便每当查看该页面时,查询 就像计数页面视图一样* 运行 *
action.php
<?php mysqli_query("UPDATE ****"); ?>
问题是刷新页面,运行查询和将PAGE REFRESH计为我要避免的PAGE VIEW。
问题: 如何避免呢?
我正在寻找一个简单的解决方案,以便我可以检查
if( page was refresh ) //some condition { do }
我已经解决了问题…没有会话且没有Cookie的HURRAHHH
该解决方案是PHP:AJAX:JavaScript的组合
您想在页面加载而不是页面刷新上运行的查询通过AJAX调用运行,可以说我执行此操作的功能是
function runQUERY() { xmlhttp=new XMLHttpRequest(); xmlhttp.open("POST","doIT.php",false); xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded"); xmlhttp.send(); }
我可以通过执行以下操作简单地使用Javascript检查该页面是否是新加载或刷新
<head> <script type="text/javascript"> function checkRefresh() { if( document.refreshForm.visited.value == "" ) { // This is a fresh page load alert ( 'Fresh Load' ); document.refreshForm.visited.value = "1"; ..call you AJAX function here } else { // This is a page refresh alert ( 'Page has been Refreshed, The AJAX call was not made'); } } </script> </head> <body onLoad="checkRefresh()"> <form name="refreshForm"> <input type="hidden" name="visited" value="" /> </form> </body> </html>
并在 doIT.php中 简单地添加您要放入普通页面的PHP代码
<?php mysql_query("UPDATE---------"); //put any code here, i won't run on any page refresh ?>