Forum Webscript.Ru
Программирование => PHP => Тема начата: Lord DEVIL от 16 Июля 2002, 13:44:17
-
Ситуация: Имеется что-то вроде подобия форума на PHP+MySQL.
Все функции по отображению тем, сообщений и их добавление находятся в одном файле.
Для выполнения определенного действия в скрипт передаются параметры, определяющие выполняемые действия (показать, добавить и др).
При передаче параметра, предписывающего добавление новой записи, скрипт обрабатывает добавление и тут же вызывает функцию отображения перечня сообщений (без редиректа. В одном файле вызов из одной функции другой). При этом в адресной строке все равно находится адрес с параметрами, предписывающими добавление новой записи.
При нажатии F5, в попытке обновить содержимое страницы, естественно, этот скрипт обрабатывается заново (т.е. добавляется еще одна запись с тем же содержимым).
Вопрос: Как проще всего избежать повторного добавления записи?
-
Сделай редирект на тот же скрипт, но без флага добавления.
-
знал бы я как
-
Типа того:
После добавления:
Header("Location ");
-
Во че пишет:
Warning: Cannot add header information - headers already sent by (output started at
У меня перед скриптом еще HTML код выводится
-
Сделай так, чтобы не выводился.
-
Не получится. Перед скриптами выводится общая для всех часть.
см. http://www.kopeysk.ru/gb
-
Используй ob_*()
Хотя мне этот путь не очень нравится.
-
ну я обычно делаю так:
echo "";
-
yennifer
А если я яву отключу, чего будет?
-
ThE0ReTiC
ну ясень пень, ничего не будет:)
единственный вопрос, который меня постоянно мучает - нафига ее отключать? ;)
-
yennifer
Все очень просто.
Чтоб не делала того, чего я не хочу.
-
А ты хидер пиши ДО общей для всех части.