PHP登录系统无法正常工作

SS'*_*SS' 1 php

当您单击"注销"时,您将保持登录状态.下面显示了php.

// logout.php
<?php
$_SESSION = array();
session_destroy();
unset($_SESSION);
header("Location: index.php");
exit;
?>

// login.php
<?php
require("connect.php");
session_start();
?>
<html>
<head>
    <title>Blanco [Martijn]</title>
    <link rel="stylesheet" style="text/css" href="css/style.css" />
</head>
<body>
    <div class="login" align="left">
        <p class="login">
        <h3>Login</h3>
        <?php
            if(!isset($_SESSION)){
                unset($_SESSION);
                session_destroy();
                if(!isset($_SESSION) ||    $_SESSION['lastActive'] <time()-60*15){
                    if(empty($_POST['loginNaam'])){
                        echo"<font color='red'>You didn't fill in a name!</font>";
                    }
                    elseif (empty($_POST['loginPass'])){
                        echo"<font color='red'>You didn't fill in a password!</font>";
                    } else {
                        $sLid = mysql_query("SELECT id,naam FROM members
                        WHERE naam='".$_POST['loginNaam']."' AND wachtwoord='".md5($_POST['loginPass'])."'
                        LIMIT 1") or die(mysql_error());
                    if(mysql_num_rows($sLid)==0){
                        echo"<font color='red'>The entered data is incorrect!</font>";
                    } else {
                        $fLid = mysql_fetch_assoc($sLid);
                        $_SESSION['user_id'] = $fLid['id'];
                        $_SESSION['user_naam'] = $fLid['naam'];
                        $_SESSION['lastActive'] = time();
                        header("Location: index.php");
                        exit;
                    }
                  }
                }
        ?>
        <form action="<?php echo $_SERVER['PHP_SELF'];?>" method="post">
            username<br /> <input type="text" name="loginNaam" /><br>
            password<br /> <input type="password" name="loginPass" /><br>
            <input type="submit" name="loginSubmit" value="login" />
        </form>
        <span class="aright"><a href="reg.php">register</a></span></p>
        </p>
    <?php
            } else {
                $_SESSION['lastActive'] = time();
                $sInfo = mysql_query("SELECT id,naam,mail FROM members
                WHERE id=".$_SESSION['user_id']." LIMIT 1") or die(mysql_error());
                $fInfo = mysql_fetch_assoc($sInfo);
    ?>
    Welcome,
    <?php
            if ($fInfo['naam'] == "admin") {
    ?>
    <font color="red"><?php echo $fInfo['naam'];?>!</font>
    <?php
            } else {
                echo $fInfo['naam'];
            }
    ?>
    </p>
    <span class="logout"><a href="logout.php">< logout</a> | <a href="#">control panel ></a></span></p>
    <?php
        }
    ?>
    </div>
</body>
Run Code Online (Sandbox Code Playgroud)

有帮助吗?

sha*_*hat 7

session_start()在执行任何与会话相关的活动之前,您仍需要调用logout.php.