-
query insert into
Ciao a tutti,
ho ricontrato un problema che non riesco a risolvere:
ho una tabella mysql nella quale, tra i vari campi, ce ne sono due che si chiamano rispettivamente "nomeutente" e "password".
In una pagina .htm ho creato un modulo con
<input type="text" nome="nomeutente"></input>
e
<input type="text" nome="password"></input>
con i quali invio ad una pagina .php le variabili "nomeutente" e "password".
Questa pagina .php, tramite query di inserimento, inserisce le suddette variabili "nomeutente" e "passoword" alla tabella di cui sopra nei rispettivi campi "nomeutente" e "password".
La cosa che non mi riesco a spiegare è che il nomeutente e la password che vengono di fatto inserite nella tabella mysql non sono quelle inserite nel modulo html ma sono sempre il mio nome utente e la mia password di altervista. :?:
Tutti gli altri campi del modulo vengono invece inseriti correttamente.
Un'altra cosa che non riesco a spegarmi è che vengono inseriti sempre due record identici nella tabella mysql.
Grazie.
Fabio.
-
bisogna vedere lo scrpit che usi per l'inserimento delle variabili nell database
-
Codice PHP:
<?php
$username = $HTTP_POST_VARS["username"];
$password = $HTTP_POST_VARS["password"];
$server = "localhost";
$username = "mionome";
$password = "mia password";
$database = "my_mionome";
if ($database == ""){
$query = "use members";
if (mysql_query($query) == null){
$query = "CREATE DATABASE members";
mysql_query($query);
$conn = mysql_connect($server,$username,$password) or die ("Could not connect MySQL");
mysql_select_db($database,$conn) or die ("Could not open database");
}
else{
$database= "members";
$conn = mysql_connect($server,$username,$password) or die ("Could not connect MySQL");
mysql_select_db($database,$conn) or die ("Could not open database");
}
}
else{
$conn = mysql_connect($server,$username,$password) or die ("Could not connect MySQL");
mysql_select_db($database,$conn) or die ("Could not open database");
}
$query = "INSERT INTO `utenti` ( `username` , `password’ )
VALUES ('$username','$password')";
mysql_query($query)
or die ( "Impossibile aggiungere dati alla tabella \"utenti\" : ".mysql_error() );
$result = mysql_query($query);
if ($result == 1){header("location: benvenuto.htm");}
?>
-
Allora, per l'errore della password e del nome utente... hai usato lo stesso nome di variabile sia per la tua password, sia per quella che prendi dal post, stessa cosa per l'user name
metti $passwordpost tipo
Per il doppio post, mi sa ch eil problema è qui
Codice PHP:
$result = mysql_query($query);
il mysqlquery, l'hai già fatto e qua lo fai un'altra volta, ti conviene fare una query dove chiami l'ultima cosa inserita
-
Sei un grande!
Entrambi i problemi risolti.
Mi spieghi perchè gli passava il mio nome utente la mia password di altervista?
Ciao e grazie ancora.
Fabio
-
Te lo ha spiegato nelle prime due righe del suo post.
Ciaoooo!!!!
-
prima dici
$password = $HTTP_POST_VARS["password"]; poi....
$password = "mia password";
e lo script prende per buono l'ultimo =
-
-
Non centrerà molto, ma ti do un altro consiglio: se non vuoi incasinarti nello scrivere query con l'apice sinistro sui nomi dei campi (come però tu hai fatto), evita di assegnarvi nomi corrispondenti a parole chiave di MySQL (nel tuo caso: password).
Stammi bene...