[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Ошибка с функцией header
boro-da
Сразу поясню, php я занимаюсь второй день, проконсультироваться не у кого, поэтому если мой вопрос глупый, не сочтите за трудность дать хоть какой-нибудь комментарий. Заранее всем огромное спасибо.

Суть проблеммы:

Я сделал свой первый сайт всего из 5 страничек на php+html. Сегодня я решил сделать на сайте пользователей, т.е. регистрацию, авторизацию, куки, сессии и т.п.

Перечитал около 5-8 уроков и из них выбрал этот. Создал новую базу, разместил файлы в папке.

Сразу оговорюсь, работаю на Denwer3.

В браузере вхожу на my-first-site/register.php заполняю поля логин и пароль, после чего на экране отображается сообщение:

Warning: Cannot modify header information - headers already sent by (output started at S:\home\loginpass\www\register.php:8) in S:\home\loginpass\www\register.php on line 48

Причём в базе запись создаётся.

Цитата строки 48 в файле register.php:

header('Location: login.php'); exit();

Если я убираю header('Location: login.php'); то ошибка не возникает, но страница не перенаправляет меня на login.php. Да и с этой строкой я остаюсь на register.php

Что у меня не так? Подскажите



Спустя 23 минуты, 16 секунд (17.07.2009 - 12:10) Alecs написал(а):
Проверь, не выводится ли что либо до этой строчки. Заголовки могут быть посланы только до начала вывода информации.

Спустя 2 минуты, 58 секунд (17.07.2009 - 12:13) boro-da написал(а):
Alecs, посмотри пожалуйста здесь
http://habrahabr.ru/blogs/php/13726/
Это оригинал урока откуда я всё взял.

ничего не менял, кроме логин и пароль пользователя базы данных и название бд.

Или дайте какой-нибудь оператор которым можно заменить header('Location: login.php');

Спустя 14 минут, 24 секунды (17.07.2009 - 12:28) Stuff_f написал(а):
там точно я ваг говорю, ощибка из-за тегов, типа <meta> или <title> воть

Спустя 7 минут, 17 секунд (17.07.2009 - 12:35) boro-da написал(а):
А как же тогда без них?

Подключать через include?

Спустя 4 минуты, 42 секунды (17.07.2009 - 12:40) Alecs написал(а):
Цитата (boro-da @ 17.07.2009 - 09:13)
Alecs, посмотри пожалуйста здесь
http://habrahabr.ru/blogs/php/13726/
Это оригинал урока откуда я всё взял.

ничего не менял, кроме логин и пароль пользователя базы данных и название бд.

Или дайте какой-нибудь оператор которым можно заменить header('Location: login.php');


Зачем замусоривать форум если вы даже не пытаетесь осмыслить ответ? Вот здесь документация для PHP4, по данному вопросу подходит и для других версий.

PS: Если вы начали вывод тегов то сырой заголовок вы уже послать не сможете.

Спустя 3 минуты, 2 секунды (17.07.2009 - 12:43) boro-da написал(а):
Alecs, Я извиняюсь если мои действия оцениваются как замусоривание, просто я не могу разобраться с этим вопросом. Большое спасибо за полезную ссылку.

Спустя 9 минут, 5 секунд (17.07.2009 - 12:52) Mizka написал(а):
PHP
Warning: Cannot modify header information - headers already sent by (output started at S:homeloginpasswwwregister.php:8) in S:homeloginpasswwwregister.

эта ошибка возникает, если ты делаешь любой вывод инфы перед отправкой хедеров

Спустя 1 час, 20 минут, 53 секунды (17.07.2009 - 14:13) andreevich написал(а):
инклудить не поможет, ведь подключаемом файле тоже может быть пустые строки в начале файла, теги <meta> и т.д

если без <meta> или <title> никак, то можно обойти следующим образом
PHP
echo "<meta />";

и т.д.

Спустя 9 часов, 58 минут, 59 секунд (18.07.2009 - 00:11) boro-da написал(а):
Mizka , andreevich Спасибо!

Сделал через include без пустых строк

Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.