おはようございます! PHPでHTTP認証に問題があります。フォームのは、送信した後、私は、別の記事で見たよう私はこのPHPコードを試みた:HTTP認証PHPおよびHTML形式
PHPを私はポップアップが私を求めて表示されますHTMLからボタンフォームを送信クリック
<?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';
}
?>
(再び)ユーザ名とパスワード。どうして?私はいくつかの点で、PHP_AUTH_USERを$ _SERVERに入力値で設定しなければならないと考えていますが、私はその方法を知らないのです。
私はpostメソッドを使用しているので、フォームからデータを送信するときに間違いを犯したと思います。どのような方法を使用する必要がありますか?私は前にそれをやったことがない
HTML
<br>
<form method="post" action="page.php">
<input type="text" name="user">
<input type="password" name="password">
<input type="submit">
</form>
<br>
、サーバ側または何か他のものにデータを確認する方法上の任意のヒントを歓迎します!
さて、私はあなたが示唆するようにコードを変更しました:それは動作します!私はそれについていくつか質問があります。表示されるポップアップに$ _SERVER ['PHP_AUTH_USER']を設定したと思います。どうすれば私のフォームから直接HTMLでそれを行うことができますか?それは、たとえば私が大学の私の個人ページにログインするときに起こることです。その$ _SERVER [etc]をフォームに渡す値に設定したPHPページから渡すことはできますか?ありがとうございました! –
編集:理由はわかりませんが、ブラウザを閉じた後に再び動作しません。 $ _SERVER ['PHP_AUTH_USER')は削除されていると思いますが、それについては分かりません。 –
@ user2993413私の編集した回答をご覧ください – rocky