вопрос про header и не только...

s1monX

Новичок
вопрос про header и не только...

вообщем проблема в обновлении страницы, т.е. надо что б данные не заносились заново в базу при рефреше. знаю что таких тем много но почитав многие из них мне либо не помогло либо я чего то не понял.
PHP:
include "modules/head.php";
include "modules/sql_con.php";

<form action="gost.php" method="post">
//форма
<input type="submit" name="go" value="Отправить">

if (empty($name)) {print"Вы не ввели имя!<br><br>"; return 0;}
if (empty($msg)) {print"Вы не ввели сообщение!<br>"; return 0;}
//потом всякие проверки, ВВ коды и т.д.

(запись в базу)

(вывод из базы)

include "modules/foot.php";
пробовал воспользоваться header("Location: bla.php"); но выводит ошибку "Cannot add header information - headers already sent", прочитав тему как устранить эту ошибку я вставил header("Location: bla.php"); в самое начало скрипта, до include , но после этого браузер стал писать что происходит бесконечная переадресация.... так что прошу помощи, наверняка ошибка очень глупая так как я новичок)))

и ещё вопрос для отображения смайлов я использую это $msg = str_replace(":smile:", "<img src='smile/smile.gif' border=0>", $msg); но за место смайла отображаеться просто :smile:, почему он не заменяет на картинку?

и последний вопрос, почему у меня при первом открытии страницы сразу пишет "вы не ввели имя"? как сделать что бы он проверял это только после отправки формы?
заранее спасибо:)
 

Vallar_ultra

Любитель выпить :)
header обновляй по условию

PHP:
if(!isset($_REQUEST['submit'])){
  header("Location: bla.php");
}
 

s1monX

Новичок
Автор оригинала: Vallar_ultra
header обновляй по условию

PHP:
if(!isset($_REQUEST['submit'])){
  header("Location: bla.php");
}
непомогло. ни ошибки ни эффекта...

я правильно понимаю, header надо вставлять в самое начало кода?
 

Фанат

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

Vladson

Сильнобухер
буферизация вывода в этом плане помогает... (и не только в этом)
 
Сверху