Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    Query,result,increment e re-query

    Ragazzi,il titolo sarà bizzarro ma è lo schema del mio script

    Ho sviluppato un sistema di login nel quale vengono immagazzinati,data,ip e il numero di tentativi con quell'ip.
    in modo da impedire un eventuale brute-force,bloccando l'indirizzo dopo n tentativi.

    Il dilemma sorge qui

    Codice PHP:
    $tries '1';  
    unset(
    $results);  
    unset(
    $query);  

    $ip getRealIpAddr();

    $queryselect="SELECT ip,id,tries FROM security WHERE 'ip = $ip'"
     
    $do mysql_query($queryselect);  
    $record=mysql_fetch_array($do);

        
    //ip già registrato? 
     
    if($record['ip'] =$ip){ 

    $raw $record['tries']+1;  

    $querydelete="DELETE FROM security WHERE ip='$record[ip]'";
      
    $queryinsert ="INSERT INTO security (ip,tries,time) VALUES('$ip','$raw','$today')"

     
    mysql_query($querydelete); 
     
    mysql_query($queryinsert);
      echo 
    mysql_error();
    }
      else{ 
    //ip da registrare
       
    $querynormal ="INSERT INTO security (ip,tries,time) VALUES('$ip','$tries,'$today')"
     
    mysql_query($querynormal); 
     }
      
    mysql_close(); 
    in termini pratici,ho la necessità di incrementare il valore dei un field del record,se l'ip risulta già registrato

    Qualcuno mi sa aiutare?
    Ringrazio in anticipo

  2. #2
    non serve fare un delete + un insert per incrementare un valore. Basta fare:

    update tabella set valore = valore + 1
    where ip = '$ip'

    attenzione a come hai messo le apici nel where della query select.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3
    ti ringrazio tantissimo

    alla fine mi ero ritrovato una riga con id 26 figurati

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.