[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Очистка переменных типа $_POST[]
ant
Я хотел бы узнать корректны ли мои действия и каково решение.

Форма и обработчик в разных скриптах. Форма простая -
Код
<p><textarea name="text" rows="20" cols="90"></textarea></p>
<p align="center"><input type="submit" name="submit"value="Отправить"></p>

Обработка идет нормально, текст в базу добавляется.
Кусок обработчика (obr.php):
Код
if(!isset($_POST['submit']) )
{
  echo "Не было ввода";
  exit();
}
   if ($text=="")
    {
      echo "Вы не ввели текст статьи";
      exit();
    }    
      else
    { и т.д.

Дальше то, что я не понимаю.
Я нажимаю кнопку обновить страницу (obr.php) и происходит повторная запись введенного ранее текста.
Т.Е. после выполнения скрипта, $_POST сохранила свое значение.
Вот я и хочу узнать:
должна ли переменная очищаться после выполнения скрипта или ее надо как-то принудительно очищать?
если да, то как, мои попытки приравнять ее к 0, "", ' ', ни к чему не привели.
или вопрос в принципе не корректен? dumau.gif





Спустя 4 минуты, 31 секунда (2.11.2008 - 20:56) Sephiroth_Lukaw написал(а):
При refresh'е браузер заного POST данные отправляет-(. Делайте насильное перенаправление.
upd. Типа, перенаправить на страничку с надписью "Данные добавлены, спасибо", а затем, через секунды три перенаправить обратно.

Спустя 58 минут, 20 секунд (2.11.2008 - 21:54) ant написал(а):
Цитата(Sephiroth_Lukaw @ 2.11.2008, 17:56) [snapback]53471[/snapback]
При refresh'е браузер заного POST данные отправляет-(. Делайте насильное перенаправление.
upd.

Т.Е. нажимать на "обновить страницу" - не допустимо?
А если "злобный хаккер " начнет нажимать и заполнит мою базу доверху?

Спустя 16 часов, 10 минут, 38 секунд (3.11.2008 - 14:05) Alchemist написал(а):
если вы вставляете в свой сайт формы, то "злобный хакер" может заполнить вашу базу и без "рефреша", просто посылая обработчику эти данные самостоятельно. А "рефрешем" вам базу заполнит скорее не "злобный хакер", а "глупый ламер".

И кроме того, вам же уже дали решение - делайте из обработчика принудительное перенаправление на страницу с формой (например через header())

Спустя 10 часов, 24 минуты, 34 секунды (4.11.2008 - 00:30) Adil написал(а):
Можешь еще сделать ограничение по времени для добавления новых данных. Например в течении 45 секунд можно добавлять только 1 раз.


_____________
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.