PHP cookies and session


PHP cookies and session

我是一个新的程序员,我正在学习一些PHP服务器编程方面的知识。但我很难理解cookie和session。我目前正在做这个练习,我需要一些语法方面的帮助,以及所有东西都应该到位的地方。此外,我不确定如何格式化所需的日期,我需要确保我的if语句是正确的。以下是我正在编写的第一部分的官方说明,后面是我目前拥有的代码:

login。

使用login.php文件只允许注册用户登录(现在是硬编码值)。注意:在现实生活中不要将用户和密码信息放在url变量中!

-如果他们正确登录:将此事实记录在$_SESSION变量' loggedIn '中,值为' true ',

-设置一个名为"loggedIn"的cookie和一个日期和时间值(格式为:January 25, 2015 10:00 am -使用http://php.net/manual/en/function.date.php作为参考),过期时间为10分钟-然后发送到admin.php.

-如果他们没有正确登录打印一个消息说"无效登录"

-如果他们以前登录过(如果会话变量存在),那么只需将他们重定向到admin.php页面

-他们将通过URL提供他们的用户名和密码:kelvin.ist.rit.edu/~用户名/341/lab2/login ?用户= admin&密码密码=

-使用$_GET[' user ']和$_GET[' password ']获取用户名和密码密码。

-如果他们没有提供这两个值,显示一个消息" Invalid Login "

<?php
error_reporting(E_ALL);
session_start();

$username = "student";
$password = "student";
if(empty($_SESSION['loggedIn'])) {
    $_SESSION['loggedIn'] = true;
    $loggedIn = $_COOKIE['loggedIn'] = string date (string $format [, int 
        $timestamp = time()+600]); //expires 10 minutes from now
    header("Location: admin.php");
    exit;
} else {
    echo "<h2>Invalid Login</h2>";
}
if(!empty($_SESSION['loggedIn'])) {
    header("Location: admin.php");
    exit;
    $_GET['username'];
    $_GET['password'];
} else {
    echo "<h2>Invalid Login</h2>";
}

setcookie("test_cookie",$path, $domain, $loggedIn, $expire);
?>

我还没有测试过这个,所以如果有任何语法错误,请原谅,但这应该可以工作。欢呼。

<?php
    session_start();
    $message = null;
    if( isset($_SESSION['loggedIn']) && $_SESSION['loggedIn'] == 'true')
    {
        header("Location: admin.php");
        exit();
    }
    if( $_SERVER['REQUEST_METHOD'] == 'GET')
    {
        if( sizeof($_GET) && isset($_GET['username']) && isset($_GET['password']) && $_GET['username'] && $_GET['password'])
        {
            if($_GET['username'] == 'username' && $_GET['password'] == '1234')
            {
                $_SESSION['loggedIn'] = 'true';
                setcookie ("loggedIn", date("F d,Y h:ia"),  time()+60*10, "/", $_SERVER['SERVER_NAME']);
                header("Location: admin.php");
                exit();
            } else {
                $message = 'Invalid Login';
            }
        } else {
            $message = 'Invalid Login';
        }
    }
?>
<!DOCTYPE HTML>
<html>
    <head>
        <title>Login</title>
    </head>
    <body>
        <?php if($message) echo '<div class="warning">' . $message . '</div>'; ?>
        <form method="get">
            <label for="username">Username</label>
            <input type="text" name="username" id="username" value="username" />
            <label for="password">Password</label>
            <input type="password" name="password" id="password" value="1234" />
            <input type="submit" name="submit" value="Login" />
        </form>
    </body>
</html>