2017-04-16 76 views
0

我有这段代码,它试图在数据库成功插入一行后显示警告对话框。另外我想在显示对话框后重新加载页面。它在注释掉header("location: link-1.php?e=Changes has been saved.")时成功弹出警告框,但是当我取消注释时,对话框不再显示。如何在重新加载页面或将页面重定向到另一个页面之前显示警告框(以PHP为单位)

if(mysqli_affected_rows($connect) == 1){ 
    echo "<script type='text/javascript'>alert('Updated successfully.');</script>"; 
    header("location: link-1.php?e=Changes has been saved."); 
} 
else { 
    header("location: link-1.php?error=Something went wrong."); 
} 
+0

PHP无法显示警报。它不在浏览器中运行。如果您需要显示警告_before_重新加载页面,则必须在Javascript页面上执行此操作。在页面重新加载之前,php将不会运行。 –

回答

1

试试这个显示警报并重新加载页面:通过发送您的HTML(JavaScript)的

if(mysqli_affected_rows($connect) == 1) 
{ 
?> 
    <script> 
    alert('Updated successfully'); 
    location.reload(); // It will reload the page and reloading will get the latest inserted data from db 
    </script> 
<?php  
} 
0

不能调用PHP头重定向,因为你的头已经被发送。你需要使用JavaScript重定向。 window.location.href={your_url}将重定向。

但我不认为这是正确的做法,你应该做倒退。首先在PHP中重定向逻辑,然后在该脚本中包含您的逻辑以显示是否显示警报框。

相关问题