php密码脚本和javascript刷新冲突,发出我想消除的表单重新提交消息

php密码脚本和javascript刷新冲突,发出我想消除的表单重新提交消息,javascript,php,html,passwords,Javascript,Php,Html,Passwords,我有一个错误,但一切都很好,否则 每次刷新时都会弹出“确认表单重新提交”对话框。我使用javascript刷新,在Chrome中没有bug,但是当我手动刷新时,我会看到那个对话框。使用firefox,无论发生什么,我都需要重新发送。刷新是不可避免的,因为这是我轮询每分钟由另一台计算机更新的文本文件的方式 我该怎么做才能摆脱这个对话 这是我的php变量 <?php $password = 'aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d'; sess

我有一个错误,但一切都很好,否则

每次刷新时都会弹出“确认表单重新提交”对话框。我使用javascript刷新,在Chrome中没有bug,但是当我手动刷新时,我会看到那个对话框。使用firefox,无论发生什么,我都需要重新发送。刷新是不可避免的,因为这是我轮询每分钟由另一台计算机更新的文本文件的方式

我该怎么做才能摆脱这个对话

这是我的php变量

<?php
  $password = 'aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d';
  session_start();
    if (!isset($_SESSION['loggedIn'])) {
  $_SESSION['loggedIn'] = false;
}

  if (isset($_POST['password'])) {
  if (sha1($_POST['password']) == $password) {
    $_SESSION['loggedIn'] = true;
} else {
    die ('Incorrect password');
  }
} 
  if (!$_SESSION['loggedIn']): 
?>

<html><head><title>Login</title>
<style>
  #formenclosure  {
    width: 300px;
    height:300px;
    margin-top:50px;
    margin-left:auto;
    margin-right:auto;
    color:fff;
       }
</style>
</head>
<body>
<div id="formenclosure">
<fieldset>
<legend>You need to login</legend>
<form method="post">
  Password: <input type="password" name="password"> <br />
  <input type="submit" name="submit" value="Login">
</form>
</fieldset>
</div>
</body>
</html>

<?php
exit();
endif;
?>

登录
#模板附件{
宽度:300px;
高度:300px;
边缘顶部:50px;
左边距:自动;
右边距:自动;
颜色:fff;
}
你需要登录
密码:
这是我的刷新代码和需要保护的所有文档之上的要求

<?php
   require('access.php');
?>

<script>
   function refresh() {
     setInterval(function () {
     location.reload(true)
     }, 60000);           // reload page every 60 seconds

  }
 </script>

函数刷新(){
setInterval(函数(){
位置。重新加载(true)
},60000);//每60秒重新加载一次页面
}

您可以完全避免页面刷新,并使用稍微不同的方法获得完全相同的结果:

<script>
    var first_run=true, oldDT='';

    function refresh() {
        setInterval(function () {
            $.ajax({
                type: 'post',
                 url: 'file_check.php',
                success: function(d){
                    if (first_run){
                        oldDT = d;
                        first_run = false;
                    }else{
                        if (d != oldDT) window.location.reload(); //refresh page
                    }
                }
            });
        }, 60000);           // reload page every 60 seconds

    }
</script>

var first_run=true,oldDT='';
函数刷新(){
setInterval(函数(){
$.ajax({
键入:“post”,
url:'file_check.php',
成功:功能(d){
如果(第一次运行){
oldDT=d;
第一次运行=错误;
}否则{
if(d!=oldDT)window.location.reload();//刷新页面
}
}
});
},60000);//每60秒重新加载一次页面
}
文件\u check.php

 <?php

    $filename = 'path_to_file/target_file.xml';
    $newDT = date("ymdHis", filemtime($filename));
    echo $newDT;

您不能用AJAX轮询该文本文件吗?请使用PHP来处理密码安全问题。如果您使用的PHP版本低于5.5,您可以使用
密码\u hash()
。我会调查一下,谢谢。使用ajax进行轮询的问题是,所有php调用都会转到文本文件,然后会转到ajax->php->file->php->ajax。没问题。