[help] Сделать антиспам на сессииях

Статус
В этой теме нельзя размещать новые ответы.

Ser Frood

Заблокирован
Регистрация
12 Дек 2006
Сообщения
515
Реакции
399
плз помоги сделать антиспам (не капча)!
пример открывается страничка вводим в инпут слово: 123 нажимаем ентер, записывается в файл: 123!
Но если при отправка нажать 2 раза ентер то оно запишися как 2 записи! если 5 раз то 5 записей и т д! помогите решить данный вопрос!
 
Что-то в посте про сессии ни слова.

Алгоритм:

клик по кнопке

if ( !isset($_SESSION['already_write']) ) {
пишем в файл
}

запись в сессию $_SESSION['already_write'] = 1;

и можно на кнопку повестить onclick="this.disabled=true;"
 
Что-то в посте про сессии ни слова.

Алгоритм:

клик по кнопке

if ( !isset($_SESSION['already_write']) ) {
пишем в файл
}

запись в сессию $_SESSION['already_write'] = 1;

и можно на кнопку повестить onclick="this.disabled=true;"

Обясни плз с сесиями что где писать и как проверять!

onclick="this.disabled=true;" - обойти легко достаточно отключить жаву у браузера!
 
Код давайте ваш.
 
Вот пример

PHP:
<? 
Error_Reporting(E_ALL & ~E_NOTICE);
        
        if($go=='save') {  Cохраняем переменную  $sss  в файл }
        
            echo"<form  action='1.php' method='post' >       
 
         <input type='text' name='comm'  class='text' size='6' maxlength='10' >
         
           <input type='submit'  value='soxp' style='padding-top: 2px; '>
           <input type='hidden' name='comm' value='$sss'>        
          <input type='hidden' name='go' value='save'>
          </form>";
          
          
?>
 
PHP:
<? 
session_start();
Error_Reporting(E_ALL & ~E_NOTICE);
        
        if($go=='save' && !isset($_SESSION['save'])) {  Cохраняем переменную  $sss  в файл
$_SESSION['save'] = 1; }
        
            echo"<form  action='1.php' method='post' >       
 
         <input type='text' name='comm'  class='text' size='6' maxlength='10' >
         
           <input type='submit'  value='soxp' style='padding-top: 2px; '>
           <input type='hidden' name='comm' value='$sss'>        
          <input type='hidden' name='go' value='save'>
          </form>";
          
session_destroy();          
?>
 
переменные сессии будут уничтожаться сразу же после установки, так что "код" не катит)

форму вместе с сесион_дестрой поместить в else.

а из раздела Pro тему убрать стоит :D:D:D:D
 
Блин чёт так и так не помогает ((
тож не паше
PHP:
<?  
session_start(); 
Error_Reporting(E_ALL & ~E_NOTICE); 
         
        if($go=='save' && !isset($_SESSION['save'])) {  Cохраняем переменную  $sss  в файл 
$_SESSION['save'] = 1; } else {
         
            echo"<form  action='1.php' method='post' >        
  
         <input type='text' name='comm'  class='text' size='6' maxlength='10' > 
          
           <input type='submit'  value='soxp' style='padding-top: 2px; '> 
           <input type='hidden' name='comm' value='$sss'>         
          <input type='hidden' name='go' value='save'> 
          </form>"; 
           
session_destroy();     }      
?>
 
тебе именно на сессииях нада? можешь проверить не оставленна ли уже такая запись да и все
 
Блин! надо чтоб можно было написать хоть 100 одинаковых записей! но чтоб нельзя было накрутить как я описал выше! вот как на форуме нажимаем отправить быстрый ответ, потом зажми ентер ответ всё равно будет 1 а не столько раз скок ты зажал ентер!
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху