Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.02.2010, 13:44   #1
kaviga
Пользователь
 
Аватар для kaviga
 
Регистрация: 22.01.2009
Сообщений: 92
По умолчанию Ошибка в авторизации

Нужно сделать простенький скрипт,который будет проверять пользователей.Но тут такая фигня он выдает вот такие ошибки
Цитата:
Warning: Cannot modify header information - headers already sent by (output started at Z:\home\test1.ru\www\CitrusIsland1-1\admin\index.php:2) in Z:\home\test1.ru\www\CitrusIsland1-1\admin\lock.php on line 6

Warning: Cannot modify header information - headers already sent by (output started at Z:\home\test1.ru\www\CitrusIsland1-1\admin\index.php:2) in Z:\home\test1.ru\www\CitrusIsland1-1\admin\lock.php on line 7
кстати,6 и 7 строка вот она:
PHP код:
Header ("WWW-Authenticate: Basic realm=\"Admin Page\"");
        
Header ("HTTP/1.0 401 Unauthorized"); 
Вообще, не знаю в чем тут ошибка.
Если что,вот полный файл:
PHP код:
<?php
include("bloki/bd.php");
if (!isset(
$_SERVER['PHP_AUTH_USER']))

{
        
Header ("WWW-Authenticate: Basic realm=\"Admin Page\"");
        
Header ("HTTP/1.0 401 Unauthorized");
        exit();
}

else {
        if (!
get_magic_quotes_gpc()) {
                
$_SERVER['PHP_AUTH_USER'] = mysql_escape_string($_SERVER['PHP_AUTH_USER']);
                
$_SERVER['PHP_AUTH_PW'] = mysql_escape_string($_SERVER['PHP_AUTH_PW']);
        }

        
$query "SELECT pass FROM userlist WHERE user='".$_SERVER['PHP_AUTH_USER']."'";
        
$lst = @mysql_query($query);

        if (!
$lst)
        {
            
Header ("WWW-Authenticate: Basic realm=\"Admin Page\"");
        
Header ("HTTP/1.0 401 Unauthorized");
        exit();
        }

        if (
mysql_num_rows($lst) == 0)
        {
           
Header ("WWW-Authenticate: Basic realm=\"Admin Page\"");
           
Header ("HTTP/1.0 401 Unauthorized");
           exit();
        }

        
$pass =  @mysql_fetch_array($lst);
        if (
$_SERVER['PHP_AUTH_PW']!= $pass['pass'])
        {
            
Header ("WWW-Authenticate: Basic realm=\"Admin Page\"");
           
Header ("HTTP/1.0 401 Unauthorized");
           exit();
        }


}




?>
пишите на тот же адрес

Последний раз редактировалось SkyM@n; 12.02.2010 в 13:52.
kaviga вне форума Ответить с цитированием
Старый 12.02.2010, 13:52   #2
SkyM@n
Laravel/Vue expert
Старожил Подтвердите свой е-майл
 
Аватар для SkyM@n
 
Регистрация: 08.08.2007
Сообщений: 2,832
По умолчанию

у вас в файле include("bloki/bd.php"); выводится информация.
ЗЫ. аську оставлять не нужно, а то будет штраф.
SkyM@n вне форума Ответить с цитированием
Старый 12.02.2010, 15:11   #3
kaviga
Пользователь
 
Аватар для kaviga
 
Регистрация: 22.01.2009
Сообщений: 92
По умолчанию

в этом файле только пароли для подключения)
пишите на тот же адрес
kaviga вне форума Ответить с цитированием
Старый 12.02.2010, 15:21   #4
kaviga
Пользователь
 
Аватар для kaviga
 
Регистрация: 22.01.2009
Сообщений: 92
По умолчанию

Код:
<?
$db = mysql_connect("localhost","Admin","159753");
mysql_select_db("83923-tut-su",$db);
?>
пишите на тот же адрес
kaviga вне форума Ответить с цитированием
Старый 12.02.2010, 23:50   #5
InternetStranger
php / delphi
Форумчанин
 
Аватар для InternetStranger
 
Регистрация: 10.06.2007
Сообщений: 175
По умолчанию

Я так понимаю приведенный скрипт сам инклюдится куда-то (index.php) ?

Код:
output started at Z:\home\test1.ru\www\CitrusIsland1-1\admin\index.php:2
Вывод происходит в index.php.

В любом случае заголовок страницы ( header ('...') ) должен быть сформирован до первого вызова echo (...)
G.Azamat { Web Development / Computer simulation }
Начинающий программист думает, что в килобайте 1000 байтов, а законченный уверен, что в километре 1024 метра.
InternetStranger вне форума Ответить с цитированием
Старый 13.02.2010, 00:11   #6
motorway
Участник клуба
 
Регистрация: 28.06.2009
Сообщений: 1,950
По умолчанию

Иногда вроде бы бывает это из-за лишних пробелов в начале файла со скриптом
motorway вне форума Ответить с цитированием
Старый 13.02.2010, 19:19   #7
_PROGRAMM_
Участник клуба
 
Аватар для _PROGRAMM_
 
Регистрация: 30.07.2009
Сообщений: 1,601
По умолчанию

motorway, полностью с Вами согласен. "headers already sent by" - когда эта строка, всегда убирайте пробелы в начале файла. Или может быть просто напишите в header(); точный url адрес страницы

В мире нет вечных двигателей, зато есть вечные тормоза...

Блог
_PROGRAMM_ вне форума Ответить с цитированием
Старый 14.02.2010, 12:01   #8
kaviga
Пользователь
 
Аватар для kaviga
 
Регистрация: 22.01.2009
Сообщений: 92
По умолчанию

все,разобрался
Большое спасибо,кто помог)
пишите на тот же адрес
kaviga вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подскажите по авторизации Rock'n'rolla Работа с сетью в Delphi 3 22.01.2010 19:21
Куки в авторизации bloger PHP 9 21.11.2009 01:18
Вопрос по авторизации Anatol_rus Работа с сетью в Delphi 2 15.10.2009 16:20
окно авторизации Ary БД в Delphi 5 27.03.2008 11:22