С Новым годом! Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
2 / 2 / 1
Регистрация: 25.12.2016
Сообщений: 115

Ошибка headers already sent при попытке запросить логин пароль

19.01.2017, 11:35. Показов 1137. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Запрос делаю так
PHP
1
2
3
4
<?php
include ("lock.php");
?>
Дальше идет тело страницы
Файл lock.php такой:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?php 
include("blocks/bd.php"); /*связь с базой данных*/
session_start();
if ($_POST['login']!='') 
{
    $dannye_avt = mysql_query("SELECT * FROM user WHERE login='".$_POST['login']."' and pass='".md5($_POST['pass'])."'");
        if (mysql_num_rows($dannye_avt)==1)
        {
            $vyvod_avt = mysql_fetch_assoc($dannye_avt);
                if ($vyvod_avt['status']=='admin')
                {
                    $_SESSION['uid'] = $vyvod_avt['uid'];
                    $_SESSION['login'] = $vyvod_avt['login'];
                    $_SESSION['status'] = $vyvod_avt['status'];
                    header("location:/site2.ru/admin/index.php?t=1");
                }
                else
                {
                    $error = "Ваша запись неактивна! <br/>";
                }
        }
        else
        {
           $error = "Неверный логин или пароль!<br/>";
        }
}
?>
У меня открывается окно административного блока. На заднем фоне (как бы затемнено) пишется ошибка одна и та же два раза

Warning: session_start(): Cannot send session cookie - headers already sent by (output started at C:\OpenServer\domains\phpSite\admine\ind ex.php:1) in C:\OpenServer\domains\phpSite\admine\loc k.php on line 3

Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at C:\OpenServer\domains\phpSite\admine\ind ex.php:1) in C:\OpenServer\domains\phpSite\admine\loc k.php on line 3
Само окно куда можно ввести логин и пароль не появляется.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
19.01.2017, 11:35
Ответы с готовыми решениями:

При попытке зайти в одноклассники крадут логин и пароль. + иногда открывается левая страница
Решил в кой-то веки зайти в &quot;одноклассники&quot; (обычно там не сижу). Ввожу логин и пароль, высветилось что я заблокирован. Через 30 мин захожу...

Вводится строка, содержащая команду вида: ftp://логин:пароль@адрес_сервера. Написать программу, которая из введенной строки выделяет логин, пароль и а
Вводится строка, содержащая команду вида: ftp://логин:пароль@адрес_сервера. Написать программу, которая из введенной строки выделяет логин,...

Логин и пароль при входе в бд
Здравствуйте уважаемые программисты! Есть БД SQLite в ней таблица с логинами и паролями для входа. Как сделать сравнивания с...

2
Эксперт PHP
 Аватар для Kerry_Jr
3106 / 2591 / 1219
Регистрация: 14.05.2014
Сообщений: 7,236
Записей в блоге: 1
19.01.2017, 11:51
SZV, headers already sent
0
2 / 2 / 1
Регистрация: 25.12.2016
Сообщений: 115
20.01.2017, 07:34  [ТС]
Кодировки тут не при чем.

Изменил lock.php
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
<?php
include("blocks/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();
        }
}
?>
Теперь административное окно не загружается и идет ошибка
Warning: Cannot modify header information - headers already sent by (output started at C:\OpenServer\domains\phpSite\admine\ind ex.php:1) in C:\OpenServer\domains\phpSite\admine\loc k.php on line 6

Warning: Cannot modify header information - headers already sent by (output started at C:\OpenServer\domains\phpSite\admine\ind ex.php:1) in C:\OpenServer\domains\phpSite\admine\loc k.php on line 7
Видимо как то по другому надо строить запрос в index.php

Добавлено через 34 минуты
Попробовал изменить запрос в index.php
PHP
1
<? ob_start(); include ("lock.php"); ?>
Поменял кодировку на utf-8 без boom.

Все окно появилось. ввел логин, пароль вошел в административный блок.

Да кодировка значение имеет. И эта не понятная для меня функция ob_start(); свое дело сделало.
Для lock.php первый вариант не подошел.

Добавлено через 10 минут
Да, но сейчас появилась другая проблема - не верно отображаются буквы. Если кодировать просто в utf-8 Тогда выходит ошибка
Warning: Cannot modify header information - headers already sent by (output started at C:\OpenServer\domains\phpSite\admine\ind ex.php:1) in C:\OpenServer\domains\phpSite\admine\loc k.php on line 6

Warning: Cannot modify header information - headers already sent by (output started at C:\OpenServer\domains\phpSite\admine\ind ex.php:1) in C:\OpenServer\domains\phpSite\admine\loc k.php on line 7
Проблема как-то решается?

Добавлено через 18 часов 20 минут
Проблема решилась просто.
У меня страница HTML5
HTML5
1
<!DOCTYPE html>
а метаданные заданы так
HTML5
1
<meta http-equiv="Content-Type" content="text/html; charset="utf-8">
когда я привел их к следующему виду
HTML5
1
<meta charset="utf-8">
Текст стал отображаться нормальными буквами.
Как оказалось дело было не в php, не просто было догадаться.

Может кто-то объяснит почему буквы отображались не верно?

Сейчас страница index.php выглядит так
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
<? ob_start(); include ("lock.php"); ?>
<!DOCTYPE html>
<html>
<head>  
     <meta charset="utf-8">  
     <title> Главная страница блока администратора </title>
     <link href="css/style.css"     type="text/css" rel="stylesheet">    
</head>
         
<body>
тело страницы
</body>
</html>
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
20.01.2017, 07:34
Помогаю со студенческими работами здесь

Ошибка Аутентификации, хотя логин и пароль ввожу верные
Ребят, никак не пойму где ошибка в коде. Необходимо сделать страничку регистрации и авторизации пользователя. Проблема в том, что выдаёт...

Не обязательный логин и пароль при регистрации
Здравствуйте. Я только начинаю осваивать MODX, смог создать простую форму регистрации/входа/остальные стандартные страницы (делал по...

Ввод логин/пароль при запуске ip-адреса
Здравствуйте, имеется адрес тип http://172.10.11.1/a_webold.htm , при заходе на него, до начала загрузки страницы, нужно ввести логин...

При нажатии на кнопку проверить Логин и Пароль
есть мемо1(логины) и мемо2(пароли). логин и пароль ввожу в Edit1 и Edit2(password). надо чтобы при нажатии на кнопку проверил логин и...

Windows 7 не запоминает логин и пароль при входе в интернет
windows 7 не запоминает логин и пароль при входе в интернет


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru