打开Developer工具会停止PHP刷新吗?

时间:2014-08-22 09:13:54

标签: php refresh developer-tools

我创建了一个页面,它将使用数据库中的新信息每10秒重新加载一次。现在的问题是,如果我打开开发人员工具,它不会重新加载,它只是暂停。有没有办法防止这种情况?

<html>
<head>

</head>
<?php

session_start();
if(isset($_SESSION["start"]))
{   
    ++$_SESSION["count"];
    if($_SESSION["count"]==21)
        header("Location:finish.php");
    if($_SESSION["count"]==20)
        header("Refresh:10,url=finish.php");
    $qID=$_SESSION["count"];
    retrieveQstn($qID);

    if($_SESSION["count"]<20)
        header("Refresh:10");


    if($_SESSION["count"]>21)
        {   $_SESSION = array();
            session_destroy();
        }
}
else
{
    $_SESSION["start"]=1;
    $_SESSION["count"]=1;

    header("Refresh:3");
    $qID=$_SESSION["count"];

    retrieveQstn(1);
}

if(isset($_POST["ans"]))
{
    $val = $_POST["ans"];
    $preQstNo = $_SESSION["prevQstnNo"];
    $Qno = $_SESSION["count"] - 1;
    $my_sqlcon = new mysqli("localhost:3306", "root", "","zs14");
    $query = "INSERT INTO quizdata(Q1,A1)VALUES('$preQstNo', '$val')";

}

function retrieveQstn($qID){
    $qstnNo = mt_rand(((($qID-1)*30)+1),$qID*30);
    $_SESSION["qstnNo"] = $qstnNo;
    $_SESSION["prevQstnNo"] = $qstnNo;
    $my_sqlcon = new mysqli("localhost:3306", "root", "","zs14");
    $query = "SELECT question FROM quiz WHERE Q_ID=$qstnNo";
    if(!($retrieve = $my_sqlcon->query($query)))
        echo "Error - Question Retrieval";
    $row = $retrieve->fetch_row();
    $qstn = $row[0];
    echo "<h2>".$qID.".".$qstn."</h2>";
}
function showOptions($no)
{
    $qstnNo = $_SESSION["qstnNo"];
    $my_sqlcon = new mysqli("localhost:3306", "root", "","zs14");
    $query = "SELECT Op$no FROM quiz WHERE Q_ID=$qstnNo";
    if(!($retrieve = $my_sqlcon->query($query)))
        echo "Error - Question Retrieval";
    $row = $retrieve->fetch_row();
    $option = $row[0];
    echo $option;
}
echo '<script>function start(){ id=50;setInterval(function(){id--;document.getElementById("timerp").innerHTML="<h2>" + id + "</h2>";},1000);}</script>'
?>
<body onload="start()" oncontextmenu="return false;">
<span id="timerp"></span>
<form style="position:absolute; top:280px; left:50px;"action= "<?php echo       htmlspecialchars($_SERVER["PHP_SELF"]);?>" id="quiz" method="post">
<input name="ans" type="radio" value="a">
<?php showOptions(1);?></br>
<input name="ans" type="radio" value="b">
<?php showOptions(2);?></br>
<input name="ans" type="radio" value="c">
<?php showOptions(3);?></br>
<input name="ans" type="radio" value="d">
<?php showOptions(4);?></br>
<input name="ans" type="radio" value="e">blank
</form>
</body> 
<script>
window.onload = function(){
    form = document.getElementsByTagName("form")[0];
    input = document.getElementsByTagName("input");
    for(i=0;i<5;i++)
    {input[i].onclick = function(){form.submit();}}
}
</script>
</html> 

此处的代码每10秒刷新一次页面20次。刷新后第20次移动到下一页finish.php。 retrieveQstn(),对于每个页面刷新从数据库中随机获取一个新问题并显示。 showOptions()显示所显示问题的相应选项。 PHP中的JavaScript显示一个10秒的计时器(它不刷新页面)。一旦用户单击单选按钮,HTML标记内的JavaScript就会提交表单(刷新页面)。 后者Javascript仅在用户单击单选按钮时刷新页面。无论用户是否选择了某个选项,PHP每10秒刷新一次页面。

现在,如果我在任何一个Javascript上放置一个断点,它会在10秒内暂停并且不会刷新。

0 个答案:

没有答案