Форма и обработчик в разных скриптах. Форма простая -
Код
<p><textarea name="text" rows="20" cols="90"></textarea></p>
<p align="center"><input type="submit" name="submit"value="Отправить"></p>
<p align="center"><input type="submit" name="submit"value="Отправить"></p>
Обработка идет нормально, текст в базу добавляется.
Кусок обработчика (obr.php):
Код
if(!isset($_POST['submit']) )
{
echo "Не было ввода";
exit();
}
if ($text=="")
{
echo "Вы не ввели текст статьи";
exit();
}
else
{ и т.д.
{
echo "Не было ввода";
exit();
}
if ($text=="")
{
echo "Вы не ввели текст статьи";
exit();
}
else
{ и т.д.
Дальше то, что я не понимаю.
Я нажимаю кнопку обновить страницу (obr.php) и происходит повторная запись введенного ранее текста.
Т.Е. после выполнения скрипта, $_POST сохранила свое значение.
Вот я и хочу узнать:
должна ли переменная очищаться после выполнения скрипта или ее надо как-то принудительно очищать?
если да, то как, мои попытки приравнять ее к 0, "", ' ', ни к чему не привели.
или вопрос в принципе не корректен?
Спустя 4 минуты, 31 секунда (2.11.2008 - 20:56) Sephiroth_Lukaw написал(а):
При refresh'е браузер заного POST данные отправляет-(. Делайте насильное перенаправление.
upd. Типа, перенаправить на страничку с надписью "Данные добавлены, спасибо", а затем, через секунды три перенаправить обратно.
upd. Типа, перенаправить на страничку с надписью "Данные добавлены, спасибо", а затем, через секунды три перенаправить обратно.
Спустя 58 минут, 20 секунд (2.11.2008 - 21:54) ant написал(а):
Цитата(Sephiroth_Lukaw @ 2.11.2008, 17:56) [snapback]53471[/snapback]
При refresh'е браузер заного POST данные отправляет-(. Делайте насильное перенаправление.
upd.
upd.
Т.Е. нажимать на "обновить страницу" - не допустимо?
А если "злобный хаккер " начнет нажимать и заполнит мою базу доверху?
Спустя 16 часов, 10 минут, 38 секунд (3.11.2008 - 14:05) Alchemist написал(а):
если вы вставляете в свой сайт формы, то "злобный хакер" может заполнить вашу базу и без "рефреша", просто посылая обработчику эти данные самостоятельно. А "рефрешем" вам базу заполнит скорее не "злобный хакер", а "глупый ламер".
И кроме того, вам же уже дали решение - делайте из обработчика принудительное перенаправление на страницу с формой (например через header())
И кроме того, вам же уже дали решение - делайте из обработчика принудительное перенаправление на страницу с формой (например через header())
Спустя 10 часов, 24 минуты, 34 секунды (4.11.2008 - 00:30) Adil написал(а):
Можешь еще сделать ограничение по времени для добавления новых данных. Например в течении 45 секунд можно добавлять только 1 раз.
_____________