我使用下面的PHP代碼進行登錄而不使用數據庫。
它重定向在兩種情況home.php:
1.當我輸入正確的用戶名和密碼
2. 當我輸入任何字符/秒爲用戶名(除了真實的用戶名)和密碼保留文本框爲空。不使用數據庫的PHP登錄腳本
在其他情況下,除了第二種情況,代碼正常工作。
如何使代碼在第二種情況下正常工作?
<?php
session_start();
$userinfo = array(
'user1'=>'pass1',
);
if(isset($_GET['logout'])) {
$_SESSION['username'] = '';
header('Location: ' . $_SERVER['PHP_SELF']);
}
if(isset($_POST['username'])) {
if($userinfo[$_POST['username']] == $_POST['password']) {
$_SESSION['username'] = $_POST['username'];
header('Location: home.php');
}else {
header('Location: login.php');
}
}
?>
爲什麼你使用這一行'if($ userinfo [$ _ POST ['username']] == $ _POST ['password'])'? – Lion 2012-01-28 19:37:58
它檢查輸入的用戶名和密碼是否與持有username =>密碼組合的'$ userinfo'數組相匹配。 – drew010 2012-01-28 19:41:57
哦!我從來沒有在PHP中看到過這樣的表達式,因爲我來自Java環境,並且想知道關於它的一些情況。 – Lion 2012-01-28 19:47:09