PHP登录系统没有数据库,会话不起作用?

时间:2013-07-16 13:13:05

标签: php session login

首先,我不会建立一个使用数据库的登录系统,我知道它更安全,但在这种情况下,它并不相关...

我有三个文件login.php,admin.php和config.php。用户的电子邮件和密码存储在config.php中的变量中。如果用户登录会话应该设置。然后,如果用户没有登录尝试访问admin.php": - ("应该打印。但现在": - ("始终打印)我编码所有内容都需要做错...

的config.php:

<?php

//site data

$title = "Abbesplace";
$siteurl = "index.php";

//user data
$password = "testtest";
$email = "example@example.com";
$name = "Albin Larsson";
?>

的login.php:

<?php

require_once("config.php");

if (($_POST['email'] == $email && $_POST['password'] == $password)) {
    //login
    session_start();
    $_SESSION['logged']= "welcometomoon";
    header("Location: admin.php");
} else {
    echo "login faild";
}
?>

<!DOCTYPE HTML>
<html>
    <head>
        <title>Login</title>
    </head>
    <body>
        <div>
            <form method="post" action="login.php">
                Email:<input type="email" name="email"/>
                Password:<input type="password" name="password"/>
                <input type="submit"/>
            </form>
        </div>
    </body>
</html>

admin.php的:

<?php

if(isset($_SESSION['logged'])){
    echo "Hello";
} else {
    echo ":-(";
}

?>

关于我应该做些什么的任何建议? (当我来到PHP时,我是新手)...

1 个答案:

答案 0 :(得分:4)

您必须在每个页面上调用session_start。现在,只有在发布到登录表单时才调用它。