защита от повтора записи

Печать RSS
408

F
Автор
Пришелец
0
Такая проблема: юзер вводит в форму число, нажимает кнопку отправить, !ВОТ ПОШЛА ПРОБЛЕМА!, страница еще не загрузилась следующая(редирект), он еще раз и еще раз нажимает на кнопку, и у меня в .dat файле повторные записи...(

Как можно ограничить повторные нажатия на кнопку? и повторные записи?

Ктулху
0
Изменить флаг открытия. На сколько я понимаю у тебя файл открывается в режиме a+ (дозапись в конец), а нужно w (открытие только для записи, очистка перед записью)
F
Автор
Пришелец
0
НЕ помогло!!!((((
http://upwap.ru/1799198 вот посмотрите файл от if ($act=="vkredok"){
/////////
$cost=mon($_POST['cost']);
$day="1";
if ($cost>$max || $cost<$min)
может подскажете, 2 дня парюсь и капчи ставил и сесссии и ничего(

Граф Озриор
0
используй unset() с уничтожением числа
F
Автор
Пришелец
0
можно с примером, я не особо силен

Граф Озриор
0
После добавления записи добавь unset($_SESSION['код']);
F
Автор
Пришелец
0
никак не могу сообразить, где именно, и какой код =/
это к форме относится или нет?
F
Автор
Пришелец
0
HELP!!!!
K

Транклюкаторщик
0
сессии юзай

Добавлено через 02:10 сек.
создаешь сессию при выводе формы.
Если существуют пост данные,проверяем наличие сессии. Если сессия есть-записываем данные,уничтожаем сессию. Если сессии нет-выводим сообщение об ошибке.

Добавлено через 04:39 сек.
парни,автору надо код написать подробно,напишите по моему алгоритму хотя бы,иначе всем мозг вынесет.
Н

Пацак
0
а сам написать по своему алгоритму?
form.php
<?php

if(isset($_POST['number_field'])){

  $msg = trim($_POST['number_field']);
  $allow = true;
  if( isset($_SESSION['prev_number']) ){
    if( $_SESSION['prev_number'] == $msg ){
      $allow = false;
    }
  }else{
    $_SESSION['prev_number'] = $msg;
  }

  if($allow){
    /*делаем запись в файл*/
    $_SESSION['prev_number'] = $msg;
  }else{
    echo 'Повтор записи!';
  }
  
}
?>


<form method="post" action="form.php">
<input type="text" name="number_field"/ value=""/>
<input type="submit" value="send"/>
</form>
Изменил: Назар (01.11.2011 / 19:52)
Стикеры / Теги / Правила / Топ тем / Топ постов / Поиск