Небольшой вопрос по $_SERVER['PHP_AUTH_USER']

Alex_v.tv

Новичок
Небольшой вопрос по $_SERVER['PHP_AUTH_USER']

Добрый день всем!
Есть страница входа index.php со ссылкой <a href="in.php">Вход</a>

код файла тестового in.php:

PHP:
<?

if (!isset($_SERVER['PHP_AUTH_USER']))
  {
    header("WWW-Authenticate: Basic realm=\"My Realm\"");
    header("HTTP/1.0 401 Unauthorized");
    echo "<font color=red><a href='index.php'>Доступ запрещён</a></font>\n";
    exit;
  }
  else
  {
    @mysql_connect("localhost")
   or die("Can't connect to Database. <br>MySQL answer: ".mysql_error());
    @mysql_select_db("test")
   or die("Can't connect to Database. <br>MySQL answer: ".mysql_error());

   $login = addslashes($_SERVER['PHP_AUTH_USER']);
   $password = $_SERVER['PHP_AUTH_PW'];

   $sql = "SELECT * FROM user WHERE login = '$login' AND pass = '$password'";

   $res = mysql_query($sql);
   if (!$res ||  mysql_num_rows($res) != 1)
   {	
       echo "<a href='index.php'>Неправильно введен логин или пароль</a><br>";
	    echo "<a href='reg.php'>Регистрация</a><br>";
       echo "<a href='call.php'>Забыли пароль?</a>";
	    exit;
   }

   else
   {
      $data_array = mysql_fetch_array($res);
      $_SESSION['user_id'] = $data_array['user_id'];
	   $_SESSION['user'] = $data_array['login'];
	   $_SESSION['access'] = $data_array['access'];
	   header("Location: user.php?".SID);
      exit;
  }
 }

?>
Задача: сделать так, чтоб человек, вернуышись по ссылке ""<a href='index.php'>Неправильно введен логин или пароль</a>" мог снова попытаться войти.
Соответственно вопрос: каким образом убрать значение $_SERVER['PHP_AUTH_USER'] без закрытия окна браузера?
или есть иной способ?

нутром чую, что вопрос туповат, но вот упёрся (
 

Фанат

oncle terrible
Команда форума
не понял.
а зачем тебе забывать $_SERVER['PHP_AUTH_USER']?
запроси новый логин с паролем в обычной форме.
 

dr_z10

Новичок
http://phpclub.ru/talk/search.php?s=&action=showresults&searchid=543217&sortby=after&sortorder=descending
 

sakon

П..и.н..ок
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Cache-Control: no-cache, must-revalidate");
header("Pragma: no-cache");
if((!$_SERVER['PHP_AUTH_USER']) || (!$_SERVER['PHP_AUTH_PW']))
{

Header("WWW-Authenticate: Basic realm=\"Administration\"");
Header("HTTP/1.0 401 Unauthorized");

echo "Для входа необходимо ввести имя и пароль";
exit;
}

А лучше почитать здесь http://ru.php.net/manual/ru/features.http-auth.php
 

Alex_v.tv

Новичок
dr_z10
сейчас сильно ограничен по времени в сети...

-~{}~ 18.04.05 14:40:

sakon
ага, спасибо, попробую
 

dr_z10

Новичок
Пробегись по темам - там есть всё и вся по твоему вопросу. Хотя бы примерно похожая темка наверняка ответит на твой вопрос...
 

Фанат

oncle terrible
Команда форума
dr_z10
зачем ему куда-то бегать?
если не считать абсолютной бессмысленности использования 'PHP_AUTH_USER', sakon ему ответил полностью.
 

Alex_v.tv

Новичок
Фанат
"абсолютной бессмысленности использования 'PHP_AUTH_USER'"
почему?
 

dr_z10

Новичок
Потому что в любом случае HTTP Basic Auth работает раком. И если не у тебя, то у другого. Все вопросы к Сильным Мира сего aka BG (не Гребенщиков) и др.
 

Alex_v.tv

Новичок
ок
спасибо народ.
кажется стена, о кот. бился головой дала трещину, дальше сам разберусь )
 

Фанат

oncle terrible
Команда форума
dr_z10, можно попросить тебя помолчать?


Alex_v.tv это ты мне сначала ответь - а нафига она тебе нужна?
 

Фанат

oncle terrible
Команда форума
я тебя спрашиваю - какую функцию выполняет у тебя механизм WWW-Authenticate? Зачем он тебе вообще здесь нужен? Не проще через обычную HTML форму пароль с логином запрашивать?
 

Alex_v.tv

Новичок
возможно проще... столкнулся с проблемой, соответственно надо решить...

есть сайт общедоступный и есть субдомен user.site.ru
вот чтоб на него попасть и хочу использовать данный механизм. После того, как user прошол аутентиф., ему присв.

$_SESSION['user_id'] = $data_array['user_id'];
$_SESSION['user'] = $data_array['login'];
$_SESSION['access'] = $data_array['access'];

, с ними он попадает в свой "вирт. офис" и дальше получает право выполнять некие действия... как то публикация материалов и т.п.
 

sakon

П..и.н..ок
у меня почему-то такой же вопрос возник.... В смысле "зачем"
 

Alex_v.tv

Новичок
с формой у меня проблемы с header возникли, т.к. контент вставляется методом include, соотв. возник рошибка "заголовки уже ушли"....

по-моему, на авто.ру сделано так, как я хочу

-~{}~ 18.04.05 15:59:

понятно, что проблема притянута за уши )
просто захотелось сделать именно так
 

Alex_v.tv

Новичок
разберусь, по крайней мере постараюсь )

без формы красиво получается: такой вот промежуточный in.php ...
 
Сверху