Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Редирект на комментарии, через header(), не редиректит.. 
V
    Опции темы
zluka
Дата 26.2.2009, 19:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 278
Регистрация: 27.7.2006

Репутация: нет
Всего: 2



Написал ф-ю добавить комментарий (к статье), нужно чтобы после оставления комментария юзером, его перекидывало на начало всех комментов. 
Форма:
Код

echo "<h2>Leave a Reply</h2>";
echo "<form action='articles.php' method='GET'>";   //POST
echo "<p>";
echo "<input name='id' type='hidden' value='{$id}'>";
echo "<label>Комментарий:</label>";
echo "<textarea name='comment_text' rows='5' cols='5'></textarea>";
echo "<br />";
echo "<input class='button' type='submit' value='Оставить коментарий'/>";
echo "</p>";
echo "</form>";


Скрипт:
Код

if(!empty($_GET['comment_text']))
{
    $comment_text = $_GET['comment_text'];
    $datetime = date('Y-m-d H:i:s');
    $id = $_GET['id'];

    $query_insert = mysql_query("INSERT INTO `comments_article` (cid, parentid, text, date) VALUES (NULL, '{$id}', '{$comment_text}',     '{$datetime}')");
    header("Location: articles.php?id={$id}#comments");
}

Выдает:
Код

Warning: Cannot modify header information - headers already sent by (output started at F:\Program Files\Apache Software Foundation\Apache2.2\htdocs\site\articles.php:69) in F:\Program Files\Apache Software Foundation\Apache2.2\htdocs\site\articles.php on line 52


Это сообщение отредактировал(а) zluka - 26.2.2009, 19:18


--------------------
user posted image
PM MAIL   Вверх
nerezus
Дата 26.2.2009, 19:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


Профиль
Группа: Участник
Сообщений: 3330
Регистрация: 15.6.2005

Репутация: 12
Всего: 43



Прочитай сообщение об ошибке. Там есть ответ.


--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
bars80080
Дата 26.2.2009, 20:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



Цитата(zluka @  26.2.2009,  18:16 Найти цитируемый пост)
headers already sent

"заголовки уже отправлены". нельзя отправлять заголовок (header()) если что-то вывел в браузер (echo, print и прочее)
PM MAIL WWW   Вверх
zluka
Дата 26.2.2009, 20:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 278
Регистрация: 27.7.2006

Репутация: нет
Всего: 2



Да вобщем я понимаю ошибку: "Заголовки отправляються до вывода чего либо в браузер". Написал дополнительную ф-ю redirect и вставил ее в самом начале, сразу после тегов <?php, (пробелов и пустых строк перед <?php - нет)
Код

function redirect($fid)
{
    header( "Location: articles.php?id={$fid}#comments");
    exit;
}

Но все равно не редиректит, и выкидывает всё туже ошибку:(
Как можно еще сделать?

Добавлено через 11 минут и 49 секунд
 smile чот я туплю сьодня)) Все, сделал, просто вставил кусок моего кода в начало)


--------------------
user posted image
PM MAIL   Вверх
Onis
Дата 26.2.2009, 21:58 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 241
Регистрация: 18.6.2005
Где: Украина, Николаев

Репутация: нет
Всего: 3



Вы не поняли. Главное не где находится эта функция а когда она вызывается. 
PM MAIL   Вверх
gta4kv
Дата 26.2.2009, 22:50 (ссылка) |  (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Walking around mad.
***


Профиль
Группа: Завсегдатай
Сообщений: 1868
Регистрация: 25.7.2006

Репутация: 21
Всего: 91



Можно сделать буферизацию. (Что является рабочим, но в корне не правильным решением)
Сделайте поиск по форуму, по запросу «headers already sent».
PM MAIL   Вверх
nextzi0
Дата 3.9.2009, 11:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 220
Регистрация: 28.5.2008
Где: о. Корсика

Репутация: нет
Всего: нет



А чем плох такой способ?

Код

echo "<script LANGUAGE='JavaScript'>";
echo "window.location='page.php'";
echo "</SCRIPT>";

и всегда работает с того места, откуда вызвали
--------------------
Не бойся начинать что-то новое, помни, что ковчег построили любители - профессионалы построили "Титаник"
PM MAIL ICQ   Вверх
Ипатьев
Дата 3.9.2009, 12:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 28
Всего: 37



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

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0595 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.