脚本完成后刷新PHP

时间:2019-02-11 07:34:54

标签: php mysql

点击后,我有一个指向数据库值自动更新的链接,

<a href="ex.php?id=<?php echo $id;?>"><button class="butt3"><?php echo $pname;?></button></a>

该文件不会打开任何网站,只会更新带有具体ID的记录。 更新记录完成后,我该如何刷新页面?

2 个答案:

答案 0 :(得分:0)

更新:

我已经看到您强制在ex.php上进行下载。在这种情况下,您不能使用我先前发布的示例,但是可以设置页面刷新的超时时间,然后在新窗口中打开下载:

<script>
function update() {
    window.open("ex.php?id=<?php echo $id;?>");
    setTimeout(function () {location.reload()}, 2000);
}
</script>
<a href="javascript:update()">update</a>

这将在新窗口中打开下载,等待2秒钟,然后刷新页面。


如果链接位于文件index.html中,而更新脚本位于ex.php中,则文件ex.php应输出一些代码,这些代码会将浏览器重定向到原始文件。

<html>
<head><title>Please wait</title></head>
<?php
// update the database here
?>
<body onload="document.location.href='index.html'">
</body>
</html>

当然,您必须小心用户按下“后退”按钮。因此,为避免这种情况,可以使用AJAX。

<script>
function updateDatabase() {
  var xhttp = new XMLHttpRequest();
  xhttp.onreadystatechange = function() {
  if (this.readyState == 4 && this.status == 200) {
    location.reload();
  }
};
xhttp.open("GET", "ex.php?id=<?php echo $id;?>", true);
xhttp.send();
}
</script>
<a href="javascript:updateDatabase()">update</a>

答案 1 :(得分:0)

如果您不想使用ajax,可以使用。

<?php
echo "<script type='text/javascript'>window.location='somepage.php'</script>";
?>

采取必要的操作后刷新该页面。

谢谢