繁体   English   中英

显示警报后如何在php中刷新页面

[英]How to refresh the page in php after displaying alert

我正在使用 php/mysql 更新记录。 毕竟大功告成。 我运行此代码以供用户确认有关该活动的信息。

        echo '<script language="javascript">';
        echo 'alert("We Have credited your account")';
        echo '</script>';

我如何刷新页面,以便一旦用户单击确定,它将再次刷新所有详细信息,并应向用户显示来自数据库的新值。

如果我在警报之后立即使用它。

header('Location: '.$_SERVER['REQUEST_URI']);

它不显示警报消息,只是刷新页面。

警报很奇怪,但您可以执行以下操作作为回声。 警报返回未定义。

echo "<script language='javascript'>";
echo "if(!alert('We Have credited your account')){
    window.location.reload();
}";
echo "</script>";

更新

发布此消息后,我意识到alert将阻止任何其他 js 运行。 你可以从字面上做

echo "<script language='javascript'>";
echo 'alert("We Have credited your account");';
echo 'window.location.reload();';
echo "</script>";

编辑以处理页面刷新(由 OP 提交):

echo "<script language='javascript'>";
echo 'alert("We Have credited your account");';
echo 'window.location.reload();';
echo "</script>";
} else {
    echo '<script language="javascript">';
    echo 'alert("Please Paste Exact URL Here")';
    echo '</script>';  
}

window.location.reloadheader('Location: '.$_SERVER['REQUEST_URI'])会让你“基本上”处于一个循环中,而不是静态的“位置”,如果你在游戏中死亡,你会被重新加载到一个点或位置,在你超过那个点之前你不能替换你产生的地方(^。^)。

使用 window.location.replace("your_page.php") 或 window.location.href = "your_page.php"; 因为 reload 和 header 更用于自动重定向到不同的位置,而 replace 和 href 更用于“转义”当前页面并从头开始加载。

因此,如果您的查询通过,请执行以下操作:

if ($conn->query($sql) === TRUE) {
echo "<script language='javascript'>";
echo 'alert("Your alert msg");';
echo 'window.location.replace("your_page.php");';
echo "</script>";

}
else{ 
    echo "FAIL";
}

它将防止数据插入或字符串一遍又一遍地循环。 我有一台 PC 的 USB 端口出现故障,它一直在插入我的数据库并发出警报,这是一场史诗般的灾难,需要一段时间来清理它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM