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>