PHP如何在标头重定向到另一页之前回显警报

时间:2019-04-12 09:29:38

标签: php header echo

我正在尝试创建一种功能,在用户登录后,将弹出一个警告消息,提示“欢迎USER_NAME”,然后将其重定向到用户个人资料页面。

我尝试了sleep和flush方法,甚至使用ob_start和ob_end_flush方法..但似乎没有任何效果,它只是在登录后重定向到用户配置文件,而不回显警报。有什么办法可以解决这个问题?

这是代码的一部分:

<?php
if (isset($_SESSION['user'])) {
``$_SESSION['user'] = $uname;
``echo "<script> alert('Welcome $uname')</script>";
``header("location: dashboard.php");
}
?>

3 个答案:

答案 0 :(得分:3)

PHP具有header("Location:xxx.php");功能的重定向不允许任何浏览器输出。

您可以使用Javascript重定向(考虑程序逻辑)。

echo '<script>
alert(' + '"Welcome ' + $uname .'");
window.location.href="welcome.php";
</script>';

答案 1 :(得分:1)

对于简单的JavaScript警报,您可以简单地使用window.location.href,但是如果您需要显示一些高级弹出窗口(例如引导程序模式或甜蜜警报),则可以使用setTimeout,它会在指定的毫秒数后计算表达式

echo "<script> alert('Welcome $uname');
window.setTimeout(function(){


    window.location.href = 'http://fullpath/dashboard.php';

}, 3000);
</script>"

您可以使用javascript警报,然后在特定超时后将其重定向

答案 2 :(得分:0)

echo '<script type="text/javascript">'; 
echo 'alert("Welcome $uname");';
echo 'window.location.href = "index.php";';
echo '</script>';

尝试使用上方代码而不是下方代码

``echo "<script> alert('Welcome $uname')</script>";
``header("location: dashboard.php");