为什么 php 执行 header 语句而不执行 echo 语句
why php executes header statement without executing the echo statement
$count = mysqli_num_rows($result);
if($count == 1){
echo "<h1><center> Login successful </center></h1>";
} else{
echo "<script>alert('login failed! invalid username or password');</script>";
header("Location: index.php") ;
}
我想在登录失败时显示警告消息,如果用户按确定,那么它应该再次返回登录 page.I 尝试了上面的代码,但是,那不起作用。
浏览器移动到登录页面而不显示警告消息。
有没有其他方法可以解决这个问题?
echo 运行良好,但代码在 php 中是同步的。这就是为什么 header 使用 echo 运行,但是 header 将你重定向到 index.php 并且 echo 被看到了一段时间。
如果 SESSION 中存在消息,您可以将消息存储到 SESSION 并在 index.php 上显示:
.
.
else{
session_start();
$_SESSION['msg'] = 'Login failed! invalid username or password';
header("Location: index.php");
index.php:
session_start();
if(isset($_SESSION['msg'])){
echo $_SESSION['msg'];
unset($_SESSION['msg'];
}
$count = mysqli_num_rows($result);
if($count == 1){
echo "<h1><center> Login successful </center></h1>";
} else{
echo "<script>alert('login failed! invalid username or password');</script>";
header("Location: index.php") ;
}
我想在登录失败时显示警告消息,如果用户按确定,那么它应该再次返回登录 page.I 尝试了上面的代码,但是,那不起作用。 浏览器移动到登录页面而不显示警告消息。 有没有其他方法可以解决这个问题?
echo 运行良好,但代码在 php 中是同步的。这就是为什么 header 使用 echo 运行,但是 header 将你重定向到 index.php 并且 echo 被看到了一段时间。
如果 SESSION 中存在消息,您可以将消息存储到 SESSION 并在 index.php 上显示:
.
.
else{
session_start();
$_SESSION['msg'] = 'Login failed! invalid username or password';
header("Location: index.php");
index.php:
session_start();
if(isset($_SESSION['msg'])){
echo $_SESSION['msg'];
unset($_SESSION['msg'];
}