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

I'm trying to make a functionality where, after the user logs in, an alert will popup saying "welcome USER_NAME", after which it will redirect to the user profile page.

I tried the sleep & flush methods, and even ob_start & ob_end_flush methods..but nothing seems to work, it just redirects to user profile after logging in without echoing the alert. Is there any way of fixing this problem?

Here is the part of the code:

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

PHP's redirection with header("Location:xxx.php"); functionality does not allow any browser output.

You can use Javascript redirection (taking in consideration of program logic).

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

For simple javascript alerts, you can simply use window.location.href but if you need to show some advanced popups like bootstrap modals or sweet alerts you can use setTimeout which evaluates an expression after a specified number of milliseconds.

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


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

}, 3000);
</script>"

You can use javascript alert and then redirect it after specific timeout

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

try upper instead of below code

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