PHP密码脚本和JavaScript刷新冲突,发出我想消除的表单重新提交消息
php password script and javascript refresh conflicting, gives off form resubmit message that i would like to eliminate
我有一个错误,但除此之外一切都很好。
每次刷新发生时都会弹出"确认表单重新提交"对话框。我使用javascript刷新,它在Chrome中没有错误,但是当我手动刷新时,我得到了那个对话框。使用火狐,无论如何我都需要重新发送。刷新是不可避免的,因为这是我轮询另一台计算机每分钟更新一次的文本文件的方式。
我能做些什么来摆脱该对话框?
这是我的 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;
?>
这是我的刷新代码和您需要保护的所有文档之上的要求。
<?php
require('access.php');
?>
<script>
function refresh() {
setInterval(function () {
location.reload(true)
}, 60000); // reload page every 60 seconds
}
</script>
您可以完全避免页面刷新,并使用略有不同的方法获得完全相同的结果:
<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>
file_check.php
<?php
$filename = 'path_to_file/target_file.xml';
$newDT = date("ymdHis", filemtime($filename));
echo $newDT;
简单的 AJAX 解释/示例
相关文章:
- Javascript生成的表单未提交
- 阻止表单元素提交
- 表单未提交问题
- 如何修剪表单'提交'多级选择列表的值
- 如何在HTML表单中提交我的下拉选择
- 选择使用 jQuery 接收 change() 事件的表单的提交按钮
- 单击表单的“提交”按钮时,获取表单中的所有INPUT和ACTION标记
- 我的ajax表单没有提交
- HTML/JS表单已提交两次
- 在表单同步提交后执行 js 吗?
- 下拉表单,提交时加载网址
- 使用 jquery 禁用 html 表单中提交按钮的功能,但仍使其可见
- 当以表单形式提交时,是否可以在PHP中访问新的数据* HTML5 / Javascript值?
- 克隆完整表并作为表单值提交
- 图片上传无法在IE中工作,表单未提交
- ajax和多个表单未提交
- 如何用数据预加载表单(新操作),然后在Ruby on Rails中提交
- 如何使表单在提交 url 操作时不打开新窗口
- 当我试图在表单中添加新元素时,Symfony2表单在提交时无效
- 表单未提交到iFrame,在新选项卡中打开