Проблема в следующем. Если я ввожу правильный логин и пароль, то все ок... А вот если не правильный, то заместо того, чтобы снова выскочило окно ввода пароля с логином, появляется ошибка:
Warning: Cannot modify header information - headers already sent by (output started at C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\Anekdots\auth.php:8) in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\Anekdots\nimda.php on line 18
Warning: Cannot modify header information - headers already sent by (output started at C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\Anekdots\auth.php:8) in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\Anekdots\nimda.php on line 19
С BOM все ок, они отключены. Привожу код, который взял из этих уроков:
<?php
if(empty($_SERVER['PHP_AUTH_USER']))
{
header('WWW-Authenticate: Basic realm="Administrative resource"');
header("HTTP/1.0 401 Unauthorised");
exit();
}
include '/auth.php';
$key = false;
if(isset($admins[$_SERVER['PHP_AUTH_USER']])
&& md5($_SERVER['PHP_AUTH_PW']) === $admins[$_SERVER['PHP_AUTH_USER']])
$key = true;
if(empty($key))
{
header('WWW-Authenticate: Basic realm="Administrative resource"'); //18
header ('HTTP/1.0 401 Unauthorized'); //19
exit();
}
?>
Помогите, чем можете)))))
А вот содержимое auth.php:
<?php
$admins = array(
'root' => '63a9f0ea7bb98050796b649e85481845', // root => root
'123456' => 'e10adc3949ba59abbe56e057f20f883e',
);
?>
Спустя 20 минут, 55 секунд (16.03.2011 - 23:10) Trianon написал(а):
Цитата |
появляется ошибка: Warning: Cannot modify header information - headers already sent by (output started at.... ну и т.д. |
ну и т.д. здесь совершенно неуместно, поскольку в остатке сообщения как раз и указано, где протек незапланированный вывод.
Предположу, что последняя строка файла auth.php была завершена символами CR LF . Они и гадят.
Полная диагностика позволила бы обойтись без предположений, и сказать точно.
Спустя 10 минут, 20 секунд (16.03.2011 - 23:21) Guest написал(а):
ок, редактирую))