• User

    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>
    
    

  • Bannato User Attivo

    $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.


  • User Attivo

    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)


  • User

    Il vincitore è: saro78! **XD

    grazie era proprio come dicevi tu..^^

    ora ho risolto....:)**