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

Тема в разделе "Как сделать...", создана пользователем Ser Frood, 8 авг 2008.

Статус темы:
Закрыта.
  1. Ser Frood

    Ser Frood Заблокирован

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

    Nafania

    Регистр.:
    24 мар 2007
    Сообщения:
    167
    Симпатии:
    46
    Что-то в посте про сессии ни слова.

    Алгоритм:

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

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

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

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

    Ser Frood Заблокирован

    Регистр.:
    12 дек 2006
    Сообщения:
    522
    Симпатии:
    386
    Обясни плз с сесиями что где писать и как проверять!

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

    Nafania

    Регистр.:
    24 мар 2007
    Сообщения:
    167
    Симпатии:
    46
    Код давайте ваш.
     
  5. Ser Frood

    Ser Frood Заблокирован

    Регистр.:
    12 дек 2006
    Сообщения:
    522
    Симпатии:
    386
    Вот пример

    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>"
    ;
              
              
    ?>
     
  6. Nafania

    Nafania

    Регистр.:
    24 мар 2007
    Сообщения:
    167
    Симпатии:
    46
    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();          
    ?> 
     
    Ser Frood нравится это.
  7. Slayter

    Slayter

    Регистр.:
    8 апр 2006
    Сообщения:
    232
    Симпатии:
    52
    переменные сессии будут уничтожаться сразу же после установки, так что "код" не катит)

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

    а из раздела Pro тему убрать стоит :D:D:D:D
     
  8. Ser Frood

    Ser Frood Заблокирован

    Регистр.:
    12 дек 2006
    Сообщения:
    522
    Симпатии:
    386
    Блин чёт так и так не помогает ((
    тож не паше
    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();     }      
    ?>
     
  9. darth

    darth Постоялец

    Регистр.:
    19 апр 2006
    Сообщения:
    113
    Симпатии:
    18
    тебе именно на сессииях нада? можешь проверить не оставленна ли уже такая запись да и все
     
  10. Ser Frood

    Ser Frood Заблокирован

    Регистр.:
    12 дек 2006
    Сообщения:
    522
    Симпатии:
    386
    Блин! надо чтоб можно было написать хоть 100 одинаковых записей! но чтоб нельзя было накрутить как я описал выше! вот как на форуме нажимаем отправить быстрый ответ, потом зажми ентер ответ всё равно будет 1 а не столько раз скок ты зажал ентер!
     
Статус темы:
Закрыта.