• User

    [Risolto]Problemino con php e inserimento dati in db

    Salve a tutti. :sbonk:Sono una nuova arrivata e vi propongo subito subito un mio problema.
    Questo è il contenuto del mio file registra.php, pagina che viene richiamata dal bottone submit di una form di registrazione utente:

    <?php
    $UN = $_POST['id']; \ variabili che ricavo dal metodo post (Username, Password, Password ripetuta, Indirizzo e-mail, Indirizzo e-mail ripetuto )
    $PW = $_POST['pw'];
    $cPW = $_POST['cpw'];
    $MAIL = $_POST['mail'];
    $cMAIL = $_POST['c_mail'];

    if ($PW == NULL || $cPW == NULL || $MAIL == NULL || $cMAIL == NULL ||$UN == NULL)
    {echo "Devi inserire tutti i campi";
    break;}

    if($PW != $cPW || $MAIL != $cMAIL)
    {echo "Attenzione, i valori della password o dell'indirizzo e-mail non coincidono con quelli ripetuti!<br/>Ricontrollali";
    echo "<input type="button" value="OK" onclick="tornaAllaRegistrazione()"/>";
    break;
    }

    $mysqli = new mysqli('localhost', 'root', 'ari', 'canzoni');
    if ($mysqli == false)
    {die ("Errore nella connessione, verificare i parametri nel file config.inc.php");}
    else {echo "connesso!";
    $result = $mysqli->query("SELECT DISTINCT Username FROM utente WHERE Username ='$UN' ");
    if ($result->num_rows != 0)
    {echo "Attenzione, lo username scelto è già in uso. Cambialo! <br/>";
    echo "<input type="button" value="OK" onclick="tornaAllaRegistrazione()"/>";}
    else
    {$mysqli->query("INSERT INTO utente (Username, Password, E-mail) VALUES('$UN','$PW','$MAIL')");
    $result2 = $mysqli->query("SELECT DISTINCT Username FROM utente");
    while($row = $result2->fetch_assoc())
    {echo $row['Username'] ;}
    echo "La registrazione ha avuto esito positivo. Ora, autenticandoti,puoi accedere all'area privata!";
    echo "<input type="button" value="OK" onclick="tornaAllaHome()"/>";}}
    ?>

    Bene. Ho 2 problemi:

    1. Il controllo sulle variabili che faccio all'inizio (cioè se c'è un valore non settato, stampa: devi inserire tutti i campi!) mi dà errore, nel senso che non mi fa proprio aprire la pagina registra.php quando premo il bottone di submit nel form.

    2)Per il resto, funzionano tutti i controlli, e anche la connessione al db, ma non funziona l'insert into. Cioè mi stampa il mess: "La registrazione ha avuto esito positivo. Ora, autenticandoti,puoi accedere all'area privata!" ma non inserisce i dati nella tabella del db.

    Qualcuno di voi sa aiutarmi???? Help help help!!! :mmm:


  • User Attivo

    al posto di NULL prova a mettere ""

    la query
    $mysqli->query("INSERT INTO utente (Username, Password, E-mail) VALUES('".$UN."','".$PW."','".$MAIL."')");

    fammi sapere


  • User

    Grazie Skyline, ma purtoppo nè il primo suggerimento, nè il secondo mi danno un risultato positivo:(, in compenso mi sorge un altro messaggio d'errore su una parte che ieri mi sembrava funzionasse:?:
    se immetto dati in cui password != password ripetuta o e-mail != e-mail ripetuta, mi appare il giusto messaggio d'errore (Attenzione, i valori della password o dell'indirizzo e-mail non coincidono con quelli ripetuti!Ricontrollali), mi appare il bottone di ok, fa il break ma mi scrive:
    Fatal error: Cannot break/continue 1 level in ... on line 19

    Uffi!!!:impiccato:


  • User Attivo

    Il break non ci va.

    per la query:
    come è strutturata la tabella?


  • User

    Username | Password | E-mail


    a | b | c

    Ecco la tabella. Per ora ho solo una ennupla fittizia. Non è che per caso mi dà problemi il trattino all'interno del nome E-mail? Magari è una cavolata, ma non so che pensare.

    Un'altra cosa, magari per il primo controllo, quello cioè per non avere campi non definiti, posso usare la funzione empty(variabile)...Mo ci provo!!!


  • User

    Sì, empty(..) ha funzionato:yuppi:. Per la query però confido nel vostro aiuto!


  • User

    Ehi...era proprio il trattino in E-mail che mi dava problemi..ora l'ho tolto e funziona tutto. Grazie al cielo!! :yuppi:Beh...grazie per la collaborazione!!! A presto!!