Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Комментарии на странице
Форумы портала PHP.SU » PHP » Программирование на PHP » Комментарии на странице

Страниц (1): [1]
 

1. Ghost_t91aa - 08 Января, 2013 - 14:31:09 - перейти к сообщению
при отправки комментария появляется сообщение: Warning: Cannot modify header information - headers already sent by (output started at Z:\home\projectrem\www\action.php:2) in Z:\home\projectrem\www\action.php on line 24.
хотя комментарий добавляется в бд.
я так понимаю hedear направляет на какую-то страница. у меня страницы строятся исходя из бд, т.е. есть одна страница которая может отображать информацию в зависимости от того, какая была выбрана строка из бд.
в адрес строке это выглядит так: projectrem/view_stati.php?id=1
как сделать чтобы после отправки комментария обновлялась страница, с которой он был отправлен?

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.         include ("dbconnect.php");
  3.  
  4.         // получаем переменные из формы
  5.         $username=$_REQUEST['username'];
  6.         $msg=$_REQUEST['msg'];
  7.         $action=$_REQUEST['action'];
  8.        
  9.         if ($action=="add")
  10.         {
  11.                 // добавление данных в БД
  12.                 $sql="INSERT INTO gb(username, dt, msg) VALUES ('$username', NOW(), '$msg')";
  13.                 $r=mysql_query ($sql);
  14.         }
  15.        
  16.         if ($action=="delete")
  17.         {
  18.                 // удаление базы гостевой
  19.                 $sql="DELETE FROM gb";
  20.                 $r=mysql_query($sql);
  21.         }
  22.        
  23.         header("Location: index.php");
  24. ?>
2. LShark - 08 Января, 2013 - 15:59:54 - перейти к сообщению
Такое сообщение бывает, когда ты второй раз отправляешь заголовок.

Особенно часто встречается, если используют сессии и команду session_start(); ставят не в самое начало.

ЛЮБОЙ, даже микроскопический, вывод в браузер сопровождается отправкой хедера. Ищи, где у тебя второй раз отправляется хедер.
3. sKaa - 08 Января, 2013 - 16:31:37 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. if (headers_sent($filename, $linenum))
  2.    echo $filename . ' ' . $linenum;
4. Ghost_t91aa - 08 Января, 2013 - 17:14:33 - перейти к сообщению
Решил проблему. у меня просто перед скобками php было: <meta http-equiv="content-type" content="text/html; charset=windows-1251" />

удалил ее, и header вверх поставил и все заработало.

вот этот ресурс помог: http://phpfaq[dot]ru/headers

 

Powered by ExBB FM 1.0 RC1