我正在用 php 创建一个登录表单。我引用了stackoverflow中的一个问题并拥有此代码。
<?php
ob_start();
session_start();
include("connection.php");
if($_SERVER["REQUEST_METHOD"] == "POST")
{
$myemail = mysqli_real_escape_string($con, $_POST['email']);
$mypassword = mysqli_real_escape_string($con, $_POST['password']);
$isblock = false;
$wrong_user_pwd = false;
$sql = "SELECT * FROM register WHERE email='$myemail' and password='$mypassword' and status='vendor'";
$result = mysqli_query($con, $sql);
if (mysqli_num_rows($result) > 0)
{
while($row = mysqli_fetch_assoc($result))
{
$_SESSION['login_user']= $row["email"];
if($row['block'] == 'active')
{
echo '<script language="javascript">';
echo 'alert("user blocked")';
echo '</script>';
}
if($row['block'] == 'inactive')
{
header("Location: vendorpanel.php");
}
}
}
else
{
echo '<script language="javascript">';
echo 'alert("invalid email/password")';
echo '</script>';
}
}
?>
<form class="login-form" action="" method="POST">
<h1>Login Form</h1>
<div>
<input type="text" placeholder="email" required="" id="email" name="email" />
</div>
<div>
<input type="password" placeholder="Password" required="" id="password" name="password"/>
</div>
<div>
<input type="submit" value="Log in" name="submit" />
</div>
</form>
我的警告工作正常,但在正常登录时,我无法将页面从登录页面重定向到下一页。它没有显示警告,但也没有前进
最佳答案
在 php 脚本的开头,您开始输出缓冲:ob_start();
,但您没有在文件末尾刷新输出。
解决方案:要么删除ob_start();
从文件开头或在文件末尾刷新输出缓冲区:ob_end_flush();
这应该在结束
<?php ob_end_flush(); ?>
关于javascript - 从登录页面重定向到下一页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29206117/