|
|
|
| Как збросить переданные параметры?
Вот делаю гостевую книгу и при передаче параметров gb.php?page=1
(передаю ПОСТ) добавляецца сообщение в БД, но если наживаешь рефреш, то они еще раз добавляються и т.д Короче как сделать так чтобы при нажатии рефреш еще раз сообщение не добавлялось?
(все энто происходит в одном файле)
Сенкс... | |
|
|
|
|
|
|
|
для: Karum
(12.03.2006 в 20:48)
| | После добавления принудительно обнови страницу.
header("Location:page.php")
|
| |
|
|
|
|
|
|
|
для: Sergey89
(12.03.2006 в 21:01)
| | Пишу после занесения данных в БД
header("Location:http://localhost/gb.php?page=1");
|
Мне выводит
Cannot add header information - headers already sent by (output started at c:\www\html\gb.php:3) in c:\www\html\gb.php on line 44
|
Как его правильно прописать? Я уже пробовал этот вариант, но маттюкаецца... | |
|
|
|
|
|
|
|
для: Karum
(12.03.2006 в 21:13)
| | Именно так. Просто до header() нельзя ничего писать в выходной поток. Даже <html> | |
|
|
|
|
|
|
|
для: Trianon
(12.03.2006 в 21:28)
| | Ну тогда так не получицца, есть еще какие-то варианты? | |
|
|
|
|
|
|
|
для: Karum
(12.03.2006 в 22:03)
| | Буферизируйте вывод в браузер:
В самом начале скрипта пишите:
А в самом конце
<?
$buffer = ob_get_contents();
ob_clean();
echo $buffer;
?>
|
И тогда ошибки не будет | |
|
|
|
|
|
|
|
для: Евгений Петров
(12.03.2006 в 23:06)
| | Не работает оно (
А как это в гостевых книгах вообще организовано? | |
|
|
|
|
|
|
|
для: Karum
(13.03.2006 в 00:13)
| | Если не получается разобраться с буферизацией, можно воспользоваться переадресацией вида
<?php echo "<HTML><HEAD>
<META HTTP-EQUIV='Refresh' CONTENT='0; URL=index.php'>
</HEAD></HTML>";
?>
|
В ней не критичен предварительный вывод в окно браузера. | |
|
|
|
|
|
|
|
для: Karum
(12.03.2006 в 20:48)
| | после INSERT
сделать
$q= "INSERT ....";
$result = mysql_query($q);
if($result) {
echo "<script>location.href='index.php'</script>":
exit();
} | |
|
|
|
|
|
|
|
для: cyxapuk
(13.03.2006 в 08:52)
| | О спасиба сухарик! Заработало! Я только хотел про JS спросить:) | |
|
|
|
|
|
|
|
для: Karum
(13.03.2006 в 10:18)
| | самый ненадежный способ из предложенных:) | |
|
|
|
|
|
|
|
для: Loki
(13.03.2006 в 10:40)
| | самый приятный способ из предложенных :)
почему в ColdFusion можно написать location, а в PHP нельзя? :) | |
|
|
|
|
|
|
|
для: elenaki
(13.03.2006 в 11:23)
| | Loki, я уверен, не нравится применение JS, там, где без него можно обойтись.
И не смотря на то, что у меня отношение к JS куда более толерантное, здесь я с ним полностью согласен.
Топор Окама. Незачем плодить ненужные сущности. | |
|
|
|
|
|
|
|
для: Trianon
(13.03.2006 в 11:40)
| | >Loki, я уверен, не нравится применение JS, там, где без него можно обойтись.
Да я этого и не скрываю: при всем потернциале JS, я его рассматриваю не более как забавную игрушку: ну куда годится код, который не будет работать у каждого десятого пользователя? Следовательно, надо либо дублировать код (для тех, у кого JS есть и для тех, у кого нет), либо избегать JS "на ключевых постах". Редирект, на мой взгляд, именно тот случай. | |
|
|
|