- Home
- Categorie
- Coding e Sistemistica
- PHP
- Problema inserimento Tupla
-
Problema inserimento Tupla
Salve, ho provato a fare uno script che registri i dati di un nuovo utente in un db, ho provato a far girare lo script seguente, all'inizio, quando non facevo nessun controllo sui dati inseriti dall'utente, andava tutto e aggiungeva la tupla alla tabella.
Ma dopo che ho fatto certe modifiche per evitare account e mail doppie non funziona più la query per l'inserimento della riga.Questo è il codice, se qualcuno sa darmi una dritta ve ne sarei grato..:)
Il problema apparente è verso la fine, dove compare "//<===="...
<HTML> <HEADER> <TITLE> Esito registrazione </TITLE> </HEADER> <BODY> <DIV ALIGN="center"> <P ALIGN="left"> <?php $account=$_POST['account']; $mail=$_POST['mail']; $remail=$_POST['remail']; $host = 'localhost'; $user = 'root'; $pws = ''; $conn_srv = mysql_connect($host,$user,$pws,true) or die (mysql_error()); $db_name = 'prova'; $conn_db = mysql_select_db($db_name,$conn_srv) or die (mysql_error()); if( !isset($mail) || !isset($account) || !isset($remail) || $mail == '' || $remail == '' || $account == '' ) { echo "Compilare tutti i campi per la <A HREF='registrazione.php'>registrazione</A>."; exit; } if($mail != $remail) { echo "I due indirizzi e-mail che hai inserito non coincidono, riprova la <A HREF='registrazione.php'>registrazione</A>"; exit; } $str_query = "SELECT * FROM utenti WHERE (Account = '".$account."') OR (Email = '".$mail."')"; $query = @mysql_query($str_query); if(mysql_num_rows($query) >= 1) { $stringa=""; while($tupla = mysql_fetch_array($query)) { if( $tupla[2] == $mail ) $stringa.="L Email che hai proposto è già stata usata.<BR>"; if( $tupla[1] == $account ) $stringa.="L'Account che hai proposto è già stata usato.<BR>"; echo $stringa."<A HREF='registrazione.php'>riprova</A> con un altri dati grazie"; } exit; } $password="prova"; $testo="Ciao ".$account.", la tua registrazione è avvenuta con successo!\nSe vuoi accedere usa questi dati:\nAccount:".$account."\nPassword:".$password; if(!mail($mail,'Autentificazione Account',$testo)) { echo "Errore nella registrazione dell'accunt, <A HREF='registrazione.php'>riprova<A>"; exit; } else { $str_query = "INSERT INTO `utenti` ( `ID` , `Account`, 'Email' , `Password` ) VALUES ( '' , '".$account."', '".$mail."' , '".$password."' )"; echo "<BR>".$str_query; //<==== if(!$query = @mysql_query($str_query)) { echo "<BR>Errore inserimento"; exit; } echo "Registrazione conclusa con successo!!<BR>Nella mail che ti è stata mandata è specifata la password e l'account assegnatoti.<BR>Ora puoi accedere al <A HREF='login.php'>sito</A>."; } mysql_close($conn_srv); ?> </P> </DIV> </BODY> </HTML>
-
$str_query = "INSERT INTO
utenti
(ID
,Account
, 'Email' ,Password
) VALUES ( '' , '".$account."', '".$mail."' , '".$password."' )";nella query il campo 'Email' ha gli apici errati o metti gli apici (`) come per ID o li togli.
-
ciao,potresti dire se ti da un mess di errore?
prova a cambiare
if(mysql_num_rows($query) >= 1)
con
if(mysql_num_rows($query) >0)
-
Il vincitore è: saro78! **XD
grazie era proprio come dicevi tu..^^
ora ho risolto....:)**