Проблема с заголовком

dream3000

Новичок
Проблема с заголовком

Проблема такова. Бьюсь-бьюсь над ней уже сколько дней, но пока усилия тщетны. Зато есть большой плюс – пока читала соответствующую лит-ру, поднатаскалась, но вот проблему так и не решила. Я вообще начинающий php-ишник, поэтому прошу не называть меня ламером. Все когда-то с чего-то начинали, в конце концов.
Ну, в общем, сама суть проблемы:
У меня есть файл со статьёй. Называется он 2006.php
Я скачала что-то типо гостевой книги на одном сайте, дабы на его примере уже накодить свою, точнее сделать на её основе линейку отзывов об этой статье (естессно уже со всей безопасностью). Файл с кодом отзывов называется sps.php, а файл, где содержится инфа о большинстве переменных (в основном для изменения текста) в файле sps_config.inc.php

В свою статью 2006.php вниз странички я добавила строку:
<?php include("sps.php"); ?>

Значит врубаю эту статью. Всё замечательно, пишу данные: ник, мыло, текст отзыва, нажимаю отправить. Да, всё отправилось, всё добавилось, только страничка вышла без статьи, а чисто отзывы. То есть сам sps.php

В самом sps.php в коде прописано следующее (всё писать не буду, только основное, с чем у меня проблемы):

Вначале я подключаю файл с переменными:

require "sps_config.inc.php";

Далее проверка: если данные были отправлены (т.е. если переменная op=add) то =>

Всякие проверки
И под конец:
header("location: $PHP_SELF");

иначе:
вывод по 10 сообщений..
Ну а в конце естессно форма для отправки:

echo "<form action=$PHP_SELF?op=add method=post>\n";
=======
======
======
всё писать не буду, это не име6ет отношения к делу. Переменная op определяется, были ли данные отправлены.

В файле же sps_config.inc.php в начале идёт следующее:

$PHP_SELF = "sps.php";

Да, вроде всё понятно, что нужно сделать, вместо $PHP_SELF вписать название статьи, то есть 2006.php а он вместо того, чтобы вывести сообщения пишет следующее:

Warning: Cannot modify header information - headers already sent by (output started at c:\www\scripts\20060421.php:8) in c:\www\scripts\sps.php on line 110

Линия 110 – это как раз тот заголовок: header("location: $PHP_SELF");

Как я только не пробовала, какие интерпретации не писала, и в форму писать 2006.php, а в заголовке оставлять sps.php… короче по-разному…. всё равно выводит одно и тоже. Замучалась уже :( Хотя я хотела, если честно, самой допереть, но не получилось и дабы сберечь свои нервы обращаюсь к вам.
 

Фанат

oncle terrible
Команда форума
зачем скрипт выводит что-то на экран перед локейшеном?

-~{}~ 09.05.06 18:21:

и ещё. когда ты регистроировалась, ты читала, что надо читать фак?
когда писала это сообщение, ты читала, что надо читать фак?
 

dream3000

Новичок
Забыла написать. Я пробовала создать в папке со скриптами файл .htaccess (с точкой в начале имени) и написала в нём php_value output_buffering On
Это должно было включить буфферизацию вывода, и заголовки можно отсылать в любом месте скрипта.
И всё равно пишет ту же ошибку.
Не могу я взять в толк… НУ ПОЧЕМУ ОН РАБОТАЛ У МЕНЯ? Стоило только адрес поменять на 2006.php в файле sps_config.inc.php и выдается ошибка :( Раньше-то заголовок после выводов тоже стоял, но работало ведь. Может вам ссылку на эту гостевую дать? ftp://softlinks.ru/s202510/sps.zip Стоит вставить это в какой-нибудь файл с помощью include и изменять адрес ничего не пашет.

-~{}~ 09.05.06 19:04:

ой чёрт, оказывается я не туда тему отправила. Просто открывала две страницы одновременно и запарилась.

Модератор, перенесите эту тему в соответствующий раздел, пожалуйста!!!!

-~{}~ 09.05.06 19:10:

Я саоздала эту же тему в разделе о PHP. Удалите эту тему и ещё раз извиняюсь за невнимательность.
Спасибо.
 

dream3000

Новичок
Проблема с заголовками

Проблема такова. Бьюсь-бьюсь над ней уже сколько дней, но пока усилия тщетны. Зато есть большой плюс – пока читала соответствующую лит-ру, поднатаскалась, но вот проблему так и не решила. Я вообще начинающий php-ишник, поэтому прошу не называть меня ламером. Все когда-то с чего-то начинали, в конце концов.
Ну, в общем, сама суть проблемы:
У меня есть файл со статьёй. Называется он 2006.php
Я скачала что-то типо гостевой книги на одном сайте, дабы на его примере уже накодить свою, точнее сделать на её основе линейку отзывов об этой статье (естессно уже со всей безопасностью). Файл с кодом отзывов называется sps.php, а файл, где содержится инфа о большинстве переменных (в основном для изменения текста) в файле sps_config.inc.php

В свою статью 2006.php вниз странички я добавила строку:
<?php include("sps.php"); ?>

Значит врубаю эту статью. Всё замечательно, пишу данные: ник, мыло, текст отзыва, нажимаю отправить. Да, всё отправилось, всё добавилось, только страничка вышла без статьи, а чисто отзывы. То есть сам sps.php

В самом sps.php в коде прописано следующее (всё писать не буду, только основное, с чем у меня проблемы):

Вначале я подключаю файл с переменными:

require "sps_config.inc.php";

Далее проверка: если данные были отправлены (т.е. если переменная op=add) то =>

Всякие проверки
И под конец:
header("location: $PHP_SELF");

иначе:
вывод по 10 сообщений..
Ну а в конце естессно форма для отправки:

echo "<form action=$PHP_SELF?op=add method=post>\n";
=======
======
======
всё писать не буду, это не име6ет отношения к делу. Переменная op определяется, были ли данные отправлены.

В файле же sps_config.inc.php в начале идёт следующее:

$PHP_SELF = "sps.php";

Да, вроде всё понятно, что нужно сделать, вместо $PHP_SELF вписать название статьи, то есть 2006.php а он вместо того, чтобы вывести сообщения пишет следующее:

Warning: Cannot modify header information - headers already sent by (output started at c:\www\scripts\20060421.php:8) in c:\www\scripts\sps.php on line 110

Линия 110 – это как раз тот заголовок: header("location: $PHP_SELF");

Как я только не пробовала, какие интерпретации не писала, и в форму писать 2006.php, а в заголовке оставлять sps.php… короче по-разному…. всё равно выводит одно и тоже. Замучалась уже Хотя я хотела, если честно, самой допереть, но не получилось и дабы сберечь свои нервы обращаюсь к вам.

p.s.
вообще заголовки нужно писать перед выводом инфы на экран, НО...

Я пробовала создать в папке со скриптами файл .htaccess (с точкой в начале имени) и написала в нём php_value output_buffering On
Это должно было включить буфферизацию вывода, и заголовки можно отсылать в любом месте скрипта.
И всё равно пишет ту же ошибку.
Не могу я взять в толк… НУ ПОЧЕМУ ОН РАБОТАЛ У МЕНЯ? Стоило только адрес поменять на 2006.php в файле sps_config.inc.php и выдается ошибка Раньше-то заголовок после выводов тоже стоял, но работало ведь. Может вам ссылку на эту гостевую дать? ftp://softlinks.ru/s202510/sps.zip Стоит вставить это в какой-нибудь файл с помощью include и изменять адрес ничего не пашет.
 

Фанат

oncle terrible
Команда форума
для этого не обязательно отсылать их в любом месте.
достаточно отослать их до любого вывода
 

dream3000

Новичок
Попробовала.
Вставила вообще вначало странички. Пишет

Warning: Cannot modify header information - headers already sent by (output started at c:\www\scripts\dream\story\story_file\20060421.php:8) in c:\www\scripts\dream\story\story_file\sps.php on line 2

-~{}~ 09.05.06 21:38:

тоже самое, в общем
 

Фанат

oncle terrible
Команда форума
ну ты этот скрипт, как я понимаю, инклюдишь в какой-то другой?
и даже пост делаешь на такой винигрет с инклюдом?
экшеном формы сам скрипт, безо всяких инклюдов, и всё будет работать.

-~{}~ 09.05.06 21:41:

ОЙ!!!
МАМА!!!
20060421.php - ЧТО ЭТО?
твой скрипт гостевой генерирует такие вот ПХП СКРИПТЫ?!
немедленно выкинь бяку!
 

dream3000

Новичок
Нет, это я так статью назвала.. по дате. Чтоб легче ориентироваться можно было.

ну ты этот скрипт, как я понимаю, инклюдишь в какой-то другой?
и даже пост делаешь на такой винигрет с инклюдом?
экшеном формы сам скрипт, безо всяких инклюдов, и всё будет работать.
Ещё бы я поняа, что это значит :)
 

Фанат

oncle terrible
Команда форума
какую ещё статью?
ты не знаешь, что такое экшен у формы? Action?
 

dream3000

Новичок
какую ещё статью?
Ну то есть именно в этой статье 20060421.php и стоит компанда инклуд.

ты не знаешь, что такое экшен у формы? Action?
Теперь поняла. Я просто хочу создать файл, то есть sps.php, который можно было вставлять во множество статей. поэтому в одну статью весь этот код я не хочу вставлять. Приходится инклудом. Ты об этом? Ой, что-то я себя вообще ламером чувствую :(
А чтобы только экшэном отправлялось, без заголовка не получается. Когда я отправляю месагу, он выходит на страничку со статьёй, только без самих отзывов. Просто внизу ПУСТО. Вот так.

-~{}~ 10.05.06 15:17:

какую ещё статью?
я просто в первом посте для облегчения понимания написала просто 2006.php
 

Фанат

oncle terrible
Команда форума
Ну то есть именно в этой статье 20060421.php и стоит компанда инклуд
статья не должна иметь расширение пхп.
расширение пхп должен иметь скрипт, который показывает статьи.
Я просто хочу создать файл, то есть sps.php, который можно было вставлять во множество статей.
вставляй на здоровье.
при чём здесь вообще вставка, если в данном случае тебя интересует ЭКШЕН ФОРМЫ?
А чтобы только экшэном отправлялось, без заголовка не получается.
не "не получается", а по-другому просто нельзя.
форма - обработка формы - локейшен - показ страницы.
что здесь непонятного?
 
Сверху