※ ChatGPTを利用し、要約された質問です(原文:HTTP認証ダイアログについて)
HTTP認証ダイアログについて
下記のPHPスクリプトを実行して、アカウント(ID:admin,パス:pass)を入力してもHTTP認証ダイアログが消えません。ダイアログが消えて、Hello! と表示させたいのですが、どこが間違っているのか、教えていただきたいです。
<?php
$user="admin";
$pass="pass";
if (!isset($_SERVER['PHP_AUTH_USER'])) { //初回認証時(PHP_AUTH_USER:HTTP 認証しているときにそのユーザー名がセットされます。ダイアログに入力した値)
header("WWW-Authenticate: Basic realm=\"PHP Web Storage\"");
header("HTTP/1.0 401 Unauthorized");
echo "Please input account info!\n";
exit;
}else {
$flg=false;
while(isset($user)){
if($_SERVER['PHP_AUTH_USER']==$user && $_SERVER['PHP_AUTH_PW']==$pass){
$flg=true;
break;
}
}
if(!$flg){echo"Please input valid account!\n";exit;} //停止
else{echo'Hello!';exit;}
}
?>
お礼
ご回答、どうもありがとうございました。
補足
ちなみに、おっしゃる通りで、自分のレンタルサーバーでは、HTTP認証はできないという回答を得たので、.htaccess を用いることにしました。