Помогите с авторизаций в Php

  • Автор темы Hetman
  • Дата начала
Статус
Закрыто для дальнейших ответов.
H

Hetman

#1
есть код
Код:
<?
if (!@imap_open("{127.0.0.1:143}", $PHP_AUTH_USER,$PHP_AUTH_PW,OP_READONLY)){
$PHP_AUTH_USER=@$_POST['login'];
$PHP_AUTH_PW=@$_POST['password'];
if (@!imap_open("{127.0.0.1:143}", $PHP_AUTH_USER,$PHP_AUTH_PW,OP_READONLY)){
 Header( "WWW-Authenticate: Basic realm=\"Mail client\"");
 Header( "HTTP/1.0 401 Unauthorized");
 echo "<H1>Authorization Required\n\rOr Can't Connect With Sever</H1>\n";
 exit;
}
}
если я ввожу логин и пароль на главной странице и передаю его на этот скрипт методом POST, то всё работает отлично.
Если открыть стразу страницу скрипта (не заходя на стартовую)- появляется окно для авторизации (как и положено), но после ввода логина, пароля и нажатия на OK, снова появляется окно для авторизации, т.е. $PHP_AUTH_USER,$PHP_AUTH_PW фактически остаються пустыми
пробую на локальной машине с установленым Денвером.
почему так происходит?
пробывал даже использовать $_SERVER['PHP_AUTH_USER']
 
E

ExtremeRuff

#2
Так естественно, у тебя всегда логин и пароль берутся из ПОСТ переменных, даже если ты пряма на страницу перешёл, а нужно в этом случае брать их из
Код:
$_SERVER['PHP_AUTH_USER']
и
$_SERVER['PHP_AUTH_PW']
И где ты пробовал использовать $_SERVER['PHP_AUTH_USER'] ???
 
S
#3
2 ExtremeRuff
вы не намекнете в чем ошибка?
Код:
<?
$_SERVER = $HTTP_SERVER_VARS;

if(!isset($_SERVER['PHP_USER_USER']))
{
header('WWW-Authenticate: Basic realm="My Realm"');
header('HTTP/1.0 401 Unathorized');
echo "faild";
}else{
echo "User name is :".$_SERVER['PHP_AUTH_USER']."<br />";
echo "Password is :".$_SERVER['PHP_AUTH_PW']."<br />";
}

?>
рез.
faild
 
Статус
Закрыто для дальнейших ответов.