Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/265.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP如何在标题重定向到其他页面之前回显警报_Php_Header_Echo - Fatal编程技术网

PHP如何在标题重定向到其他页面之前回显警报

PHP如何在标题重定向到其他页面之前回显警报,php,header,echo,Php,Header,Echo,我正在尝试创建一个功能,在用户登录后,会弹出一个警告,说“欢迎用户\ u NAME”,然后会重定向到用户配置文件页面 我尝试了sleep和flush方法,甚至还有ob_start和ob_end_flush方法……但似乎没有任何效果,它只是在登录后重定向到用户配置文件,而不回显警报。有没有办法解决这个问题 以下是代码的一部分: <?php if (isset($_SESSION['user'])) { ``$_SESSION['user'] = $uname; ``echo "<scr

我正在尝试创建一个功能,在用户登录后,会弹出一个警告,说“欢迎用户\ u 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");
}
?>

带有
标题的PHP重定向(“Location:xxx.PHP”)功能不允许任何浏览器输出

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

echo'
警报(“+”欢迎“+$uname.”);
window.location.href=“welcome.php”;
';

对于简单的javascript警报,您只需使用
window.location.href
即可,但如果您需要显示一些高级弹出窗口,如引导模式或甜警报,则可以使用
setTimeout
在指定的毫秒数后计算表达式

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


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

}, 3000);
</script>"
echo”警报('Welcome$uname');
setTimeout(函数(){
window.location.href=http://fullpath/dashboard.php';
}, 3000);
"
您可以使用javascript警报,然后在特定超时后重定向它

echo';
echo '<script type="text/javascript">'; 
echo 'alert("Welcome $uname");';
echo 'window.location.href = "index.php";';
echo '</script>';
回音“警报”(“欢迎$uname”); echo'window.location.href=“index.php”; 回声';
尝试上面的代码而不是下面的代码

``echo "<script> alert('Welcome $uname')</script>";
``header("location: dashboard.php");
“`echo”警报('Welcome$uname')”;
``标题(“位置:dashboard.php”);

最好用Javascript(
document.location=…
)在
alert()
之后编写重定向,这样应该可以工作。最好将
alert()
放在最后,希望它不会阻塞计时器。或者简单地在中测试您的代码可能是正确的,但也有助于显示其他弹出窗口,如引导模型或使用此引导的甜警报弹出窗口与
alert()
,后者将阻止Javascript执行,前者不会。这就是我要说的。如果您需要显示引导模型或sweet警报,那么它将是有帮助的。当您使用
alert()
时,在重定向之前等待3秒钟是没有意义的。测试你的代码,看看它能做什么!我知道您希望显示消息3秒钟,然后重定向,但这不是您的代码所做的。欢迎使用堆栈溢出。虽然你的答案是有效的,但它与12分钟前发布的另一个答案相同。这使得你的帖子不那么有用。如果你认为这是错误的,你可以在你的答案中解释为什么你的答案比另一个好。
``echo "<script> alert('Welcome $uname')</script>";
``header("location: dashboard.php");