<?php
if(isset($_GET['action'])){
switch ($_GET['action']) {
case 'login':
include 'header.php';
if($_SERVER['REQUEST_METHOD'] == "post"){
if(!empty($_POST['password']) && $_SERVER['REMOTE_ADDR'] == "My IP Adress" && $_POST['password'] == "Password"){
$_SESSION['AlphenWeerNladmin'] = 1;
echo 'Logged in!';
}
else
{
echo 'Wrong password or IP adress';
}
}
else
{
?>
<form action="admin.php?action=login" method="post">
<input type="password" name="password">
<input type="submit" value="submit">
</form>
<?php
}
include 'footer.php';
break;
case 'logout':
include 'header.php';
$_SESSION['AlphenWeerNladmin'] = 0;
echo 'Logged out!';
include 'footer.php';
break;
default:
header('Location: 404.php');
break;
}
}
else
{
header('Location: 404.php');
}
?>
当我去admin.php?action = login并且我尝试登录时,我会再次发送到窗体?管理员登录不会登录?
请帮忙!
问候
GET将返回查询字符串这正是他要寻找的。我希望POST会覆盖REQUEST_METHOD中的GET,但是谁知道。 – Kris 2011-02-18 17:12:24
`
我并不是在争论这个事实,我只是说他的REQUEST_METHOD检查可能不会被满足,因为他发送的是GET和POST变量。我不确定哪些优先于$ _SERVER ['REQUEST_METHOD']变量 – JamesHalsall 2011-02-18 17:15:37