Dunque....semplicemente da un form ricevo dei dati...faccio 1 piccolo controllo se l'utente esiste..e lo inserisco nel DB....spedisco una mail a chi di dovere per avvertire che si è inserito un nuovo utente.... ||||||||| poi c'è una tabella che mi conta il numero totale di utenti iscritti e ...se inserisco...aggiorno di 1 il num totale di utenti....
quello che leggete prima di --> ||||||||| , viene eseguito 2 volte...inserisce (dupplica) l'utente, manda 2 email...non c'è nessun tipo di ciclo e simili...
io avevo notato il prob. del doppio inserimento...(dove tra l'altro il secondo viene inserito ma con i campi totalmente vuoti)..al che avevo messo dopo l'insert un delete where user = '' ....tampone mentre cercavo la falla....poi ho aggiunto la spedizione email e ho visto che anche quella viene fatta 2 volte....
questo il codice
cosa mi sono perso nel codice che mi fa sto doppio invio e doppio inserimento?codice:ricevo i dati $user = $_POST['username']; $password = $_POST['password']; $nome = $_POST['nome']; controllo se esiste la mail $sql_select = "SELECT email FROM utenti WHERE email = '$email'"; $result_sel = mysql_query($sql_select); $numrows = mysql_num_rows($result_sel); se non esiste if ($numrows == 0){ spedisco una mail $from="info@mail.com"; $dest="aa@mail.it"; $oggetto="NUOVO UTENTE REGISTRATO"; $messaggio="CONTENUTO: "."\n"; $messaggio="mio messaggio"; mail($dest,$oggetto,$messaggio,"From: $from"); INSERISCO IL NUOVO UTENTE $sql_insert = "INSERT INTO utenti (username, password, nome) VALUE('$user', '$password', '$nome')"; $result_insert = mysql_query($sql_insert); (TAMPONE) CANCELLO IL DUPPLICATO INCRIMINATO $sql_delete = "DELETE FROM utenti WHERE username = ''"; $result_delete = mysql_query($sql_delete); AGGIORNO TABELLA numero totale utenti $sql_check = "SELECT * FROM contauser"; $result_check = mysql_query($sql_check); $row_check = mysql_fetch_array($result_check); $num_update = ($row_check['tot']+1); $sql_update = "UPDATE progressivo_utenti SET progressivo = '$num_update'"; $result_update = mysql_query($sql_update); MI SCRIVO IL TESTO CHE TUTTO è OK $testo = ' I dati inseriti sono OK.'; }else{ OPPURE SE LA MAIL ESISTE NON FACCIO NA MAZZA E LO DICO $testo = 'Attenzione, email'; }
sono ceco?

non c'è nessun tipo di ciclo e simili...
Rispondi quotando