- Home
- Categorie
- Coding e Sistemistica
- PHP
- [Risolto]Problemino con php e inserimento dati in db
-
[Risolto]Problemino con php e inserimento dati in db
Salve a tutti. 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:
- 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!!!
-
al posto di NULL prova a mettere ""
la query
$mysqli->query("INSERT INTO utente (Username, Password, E-mail) VALUES('".$UN."','".$PW."','".$MAIL."')");fammi sapere
-
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 19Uffi!!!:impiccato:
-
Il break non ci va.
per la query:
come è strutturata la tabella?
-
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!!!
-
Sì, empty(..) ha funzionato. Per la query però confido nel vostro aiuto!
-
Ehi...era proprio il trattino in E-mail che mi dava problemi..ora l'ho tolto e funziona tutto. Grazie al cielo!! Beh...grazie per la collaborazione!!! A presto!!