Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: BASIC Authenticate не работает

Сообщения:  [1-10]   [11-11] 

 
 автор: cheops   (29.11.2006 в 12:50)   письмо автору
 
   для: _Dreamer_   (29.11.2006 в 09:40)
 

Попробуйте действительно обновить версию, может, хотя в принципе и в этой связке должно всё работать...

   
 
 автор: _Dreamer_   (29.11.2006 в 09:40)   письмо автору
 
   для: cheops   (29.11.2006 в 00:27)
 

На локальном стоит Apache/1.3.29 (Win32) PHP/5.0.0
Но на удаленном все работает, так что как я понимаю чтобы работало у меня нужно просто Apache поновее поставить

   
 
 автор: cheops   (29.11.2006 в 00:27)   письмо автору
 
   для: _Dreamer_   (28.11.2006 в 13:04)
 

А какой Web-сервер используется и какой версии?

   
 
 автор: _Dreamer_   (28.11.2006 в 13:04)   письмо автору
 
   для: cheops   (27.11.2006 в 22:35)
 

спасиба! перенастроил Apache, теперь PHP установлен как модуль
но проблема осталась: $_SERVER['PHP_AUTH_PW'] передается а $_SERVER['PHP_AUTH_USER'] нет

======

проверил массивы $_SERVER $_POST $HTTP_SERVER_VARS, а также переменную $PHP_AUTH_USER... нигде логина который я передаю через окошко нет..

   
 
 автор: cheops   (27.11.2006 в 22:35)   письмо автору
 
   для: _Dreamer_   (27.11.2006 в 16:17)
 

>ну это понятно.. дело в том что переменные
>$_SERVER['PHP_AUTH_USER']
>$_SERVER['PHP_AUTH_PW']
>пустые...
Эти переменные заполняются только в том случае, если PHP установлен как модуль, если PHP установлен как CGI - они не заполняются.

   
 
 автор: _Dreamer_   (27.11.2006 в 20:07)   письмо автору
 
   для: Trianon   (27.11.2006 в 20:02)
 

к сожелению у меня не работает.. может нужно создать в этом каталоге файл .htaccess с какими нибудь инструкциями?.. это единственное что приходит в голову..

>Между прочим, если у Вас появляется формочка запроса логина/пароля, следовательно функции header свои действия выполняют.

сделала то сделала.. а нужные переменные пустые... :(

   
 
 автор: Trianon   (27.11.2006 в 20:02)   письмо автору
 
   для: _Dreamer_   (27.11.2006 в 19:30)
 

У меня Ваш пример работает в таком изложении:

<?php
if (!isset($_SERVER['PHP_AUTH_USER']))
    {
        
header("WWW-Authenticate: Basic realm=\"Test Authentication System\"");
        
header("HTTP/1.0 401 Unauthorized");
        exit;
    }
else
echo  
'Username: '.$_SERVER['PHP_AUTH_USER']. '<br />'
     
.'Password:'.$_SERVER['PHP_AUTH_PW'].'<br />';
?>


Между прочим, если у Вас появляется формочка запроса логина/пароля, следовательно функции header свои действия выполняют.

   
 
 автор: _Dreamer_   (27.11.2006 в 19:30)   письмо автору
 
   для: Trianon   (27.11.2006 в 15:39)
 

помогите разобраться в чём дело...
ну не передаются никоим образом пароль и логин этими

        header("WWW-Authenticate: Basic realm=\"Test Authentication\""); 
        header("HTTP/1.0 401 Unauthorized");


уже проверил все массивы после ввода в окошке пароля и логина, а именно массивы $_POST, $_SERVER, $HTTP_SERVER_VARS, нет там нигде тех данных которые должны быть по идее в $_SERVER['PHP_AUTH_USER'] и в $_SERVER['PHP_AUTH_PW']...
в чём может быть проблема?

   
 
 автор: _Dreamer_   (27.11.2006 в 16:17)   письмо автору
 
   для: Trianon   (27.11.2006 в 15:39)
 

ну это понятно.. дело в том что переменные
$_SERVER['PHP_AUTH_USER']
$_SERVER['PHP_AUTH_PW']
пустые... то есть допустим

    if ($_SERVER['PHP_AUTH_USER'] == "")
    {
        header("WWW-Authenticate: Basic realm=\"Test Authentication System\"");
        header("HTTP/1.0 401 Unauthorized");
        exit;
    }

выводится окошко... ввожу логин и пароль... нажимаю OK... а переменная все равно пустая...

   
 
 автор: Trianon   (27.11.2006 в 15:39)   письмо автору
 
   для: _Dreamer_   (27.11.2006 в 15:10)
 

После строки

$s_login = $_SERVER['PHP_AUTH_USER']; 
переменная $s_login окажется установленной независимо от того, есть соответствующий элемент массива $_SERVER или нет.
Проверять имеет смысл сами элементы массива, а не их копии.

   

Сообщения:  [1-10]   [11-11] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования