一尘不染

PHP:检测页面刷新

php

我有一个页面,action.php在该页面上我通过代码运行SQL查询,以便每当查看该页面时,查询 就像计数页面视图一样* 运行 *

<?php
mysqli_query("UPDATE ****");
?>

问题是刷新页面,运行查询和将PAGE REFRESH计为我要避免的PAGE VIEW。

问题: 如何避免呢?

我正在寻找一个简单的解决方案,以便我可以检查

if( page was refresh ) //some condition
{
 do
}

阅读 780

收藏
2020-05-29

共1个答案

一尘不染

我已经解决了问题…没有会话且没有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
?>
2020-05-29