PHP记住我重定向



我是PHP的初学者。我正在使用登录/密码记住我,我正在创建PHP登录表单我的问题是它会一直重定向到UserArea.php

即使我没有单击记住我(复选框(。

我不知道问题是否与cookie或变量有关。我尝试了许多解决方案,而没有任何解决方案。

这是我的代码:

    session_start();

    //checking if remember me == true
function loggedin()
{   
    if(isset($_SESSION["email"]) || isset($_COOKIE["email"]))
    {
        $loggedin = true;
        return $loggedin;
    }
}
if(loggedin())
{
    header("Location: userarea.php");
}
if(isset($_POST['submit'])){
require 'db.php';
$email = mysqli_real_escape_string($connection,$_POST["email"]);
$password = mysqli_real_escape_string($connection,$_POST["password"]);
$query = "SELECT * FROM users WHERE email = '$email' and pwd='$password'";
$result = mysqli_query($connection,$query);
if (!$query)
{
    die('Error: ' . mysqli_error($connection));
}
$count = mysqli_num_rows($result);
    if($count > 0){
    $row = mysqli_fetch_assoc($result);
    $_SESSION["email"] = $row["email"];
    $_SESSION["civile"] = $row["civile"];
    $_SESSION["nom"] = $row["nom"];
    $_SESSION["prenom"] = $row["prenom"];
    $_SESSION["address"] = $row["address"];
    $_SESSION["city"] = $row["city"];
    $_SESSION["zip"] = $row["zip"];
    $_SESSION["telephone"] = $row["telephone"];
    //saving checkbox into variable
    if(isset($_POST['rememberme'])){
        setcookie("email", $email, time()+7200);
    }

    echo '<div class="alert alert-success">
    Hi '.$_SESSION["nom"].' ! you will be redirected in few seconds.
    </div>';
}else{
    echo '<div class="label label-warning">
    Username or password are incorrect.
    </div>';
}
}

这是HTML代码:

        <input id="email" type="text" size="40" class="form-control" name="email" placeholder="Email">

        <input id="password" type="password" size="40" class="form-control" name="password" placeholder="Password">
    <input class="btn btn-success" type="submit" value="Submit" name="submit">

<td> <input type="checkbox" name="rememberme" id="rememberme" value="1"> 
    <label> Remember me  </label>

您还在会话中查看会议中的电子邮件,这就是您要面对此问题的原因。

   session_start();

    //checking if remember me == true
function loggedin()
{   
    if(isset($_COOKIE["email"]))
    {
        $loggedin = true;
        return $loggedin;
    }
}
if(loggedin())
{
    header("Location: userarea.php");
}
if(isset($_POST['submit'])){
require 'db.php';
$email = mysqli_real_escape_string($connection,$_POST["email"]);
$password = mysqli_real_escape_string($connection,$_POST["password"]);
$query = "SELECT * FROM users WHERE email = '$email' and pwd='$password'";
$result = mysqli_query($connection,$query);
if (!$query)
{
    die('Error: ' . mysqli_error($connection));
}
$count = mysqli_num_rows($result);
    if($count > 0){
    $row = mysqli_fetch_assoc($result);
    $_SESSION["email"] = $row["email"];
    $_SESSION["civile"] = $row["civile"];
    $_SESSION["nom"] = $row["nom"];
    $_SESSION["prenom"] = $row["prenom"];
    $_SESSION["address"] = $row["address"];
    $_SESSION["city"] = $row["city"];
    $_SESSION["zip"] = $row["zip"];
    $_SESSION["telephone"] = $row["telephone"];
    //saving checkbox into variable
    if(isset($_POST['rememberme'])){
        setcookie("email", $email, time()+7200);
    }

    echo '<div class="alert alert-success">
    Hi '.$_SESSION["nom"].' ! you will be redirected in few seconds.
    </div>';
}else{
    echo '<div class="label label-warning">
    Username or password are incorrect.
    </div>';
}
}

最新更新