【发布时间】:2016-09-22 03:01:18
【问题描述】:
早上好!我在使用 PHP 进行 HTTP 身份验证时遇到了一些问题。正如我在不同的帖子中发现的那样,在表单提交后,我尝试了这个 PHP 代码:
PHP
<?php
$us = 'name';
$pswd = 'pass';
function verify($a, $b) { return ($a==$us && $b==$pswd);};
$user = $_SERVER['PHP_AUTH_USER'];
$password = $_SERVER['PHP_AUTH_PW'];
if(!isset($user) || verify($user, $password)==false) {
header('WWW-Authenticate: Basic realm="MyRealm"');
header('HTTP/1.1 401 Unauthorized');
exit;
}
else{
echo 'Correctly authenticated';
}
?>
当我单击 HTML 中的提交按钮表单时,会出现一个弹出窗口,询问我(再次)用户名和密码。为什么?我认为在某些方面我必须使用输入中的值在 $_SERVER 中设置 PHP_AUTH_USER,但我不知道如何设置。
我认为当我从表格,因为我仍在使用 post 方法。我必须使用什么方法?
HTML
<br>
<form method="post" action="page.php">
<input type="text" name="user">
<input type="password" name="password">
<input type="submit">
</form>
<br>
我以前从来没有做过,欢迎任何关于如何在服务器端检查数据或其他东西的提示!
【问题讨论】:
标签: php html forms apache http