我已经输入了正确的用户名和密码,但我的登录页面对第一次尝试没有响应:第二次尝试时它会响应。
我的登录页面是login.php,登录页面是index.php
这是我的html:
<form method="post" >
<input type="text" name="email" class="form-control" placeholder="Username" required />
<input type="password" name="password" class="form-control" placeholder="Password" required />
<button class="btn btn-default submit" >Log In</button>
</form>
这是我的php代码
if($_POST){
$email=$_POST['email'];
$password=$_POST['password'];
$select="select * from user_registration where email='$email' and password='$password'";
$res=mysqli_query($con,$select);
$data=mysqli_fetch_array($res);
if($data['email']!=$email or $data['password']!=$password or $data['status']=='Pending')
{
echo "Invalid username or password";
header("location:login.php");
}
elseif($data['email']==$email and $data['password']==$password)
{
$_SESSION['name']=$email;
$_SESSION['user_name']=$data['user_name'];
$_SESSION['user_id']=$data['id'];
header("location:index.php");
}
}
尝试使用这个。
您的HTML代码:
<form method="post" >
<input type="text" name="email" class="form-control" placeholder="Username" required />
<input type="password" name="password" class="form-control" placeholder="Password" required />
<button name="submit" class="btn btn-default submit" >Log In</button>
</form>
以及您的PHP代码:
if(isset($_POST['submit'])){
$email=$_POST["email"];
$password=$_POST["password"];
//do form validation here
$sql="SELECT * FROM user_registration WHERE email='{$email}' AND password='{$password}'";
$res=mysqli_query($con,$sql);
if (mysqli_num_rows($res)==1)
{
$row=mysqli_fetch_assoc($res);
$_SESSION["name"] =$row['email'];
$_SESSION['user_name']=$row['user_name'];
$_SESSION['user_id']=$row['id'];
$_SESSION["login_status"] =TRUE;
header("Location: index.php");
}else{
$msg="Wrong Username and Password";
header("Refresh:0");
}
}
}
如果这对你有帮助,请告诉我。