我是一個新的程序員,我只是在服務器編程方面學習一些PHP。但我很難理解cookies和會話。我目前正在進行這一項練習,並且需要一些語法幫助,以及所有內容都將落實到位。另外,我不確定如何格式化所需日期,我需要確保我的if語句是正確的。下面是我工作的第一部分中的官方說明,其次是代碼,我到目前爲止有:PHP cookie和會話
的login.php
使用的login.php文件,只允許註冊用戶登錄在(現在是硬編碼值)。注意:永遠不要在現實生活中將用戶和密碼信息放在url變量中!
- 如果他們登錄正確: 記錄這一事實在一個名爲「的loggedIn」與「真」,
-set用「的loggedIn」的名字的cookie和值的$ _SESSION變量日期和時間值(格式如:2015年1月25日上午10:00 - 使用http://php.net/manual/en/function.date.php作爲參考),在10分鐘後過期,然後發送到admin.php。
- 如果他們不登錄正確打印一條消息說「無效登錄」
- 如果他們以前已登錄(如果會話變量存在),那麼只需將它們重新定向到管理PHP頁面
- 他們將通過URL提供的用戶名和密碼: kelvin.ist.rit.edu/~username/341/lab2/login.php?user=admin &密碼=密碼
- 使用$ _GET ['user']和$ _GET ['password']來獲取用戶名和密碼 。
- 如果他們不提供這兩個值,顯示消息「無效登錄」
<?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中投入的方式。 – PHPglue
@ system0verl0ad我在下面回答你的問題嗎?不投反對票 – pogeybait