- Home
- Categorie
- Coding e Sistemistica
- PHP
- Errore Query che non capisco
-
Errore Query che non capisco
Salve, ho un problemuccio vi spiego brevemente di cosa si tratta.
Ho creato un form per la registrazione utente ho inserito lo script md5 solo che fa un piccolo errore nella query troverete elencati tutti i miei file più la tabella .Tabella
[PHP]
CREATE TABLE IF NOT EXISTSac_users
(
id
smallint(5) NOT NULL AUTO_INCREMENT,
username
varchar(30) NOT NULL DEFAULT '',
password
varchar(100) NOT NULL DEFAULT '',
pwd_conferma
varchar(100) NOT NULL DEFAULT '',
name1
varchar(32) NOT NULL DEFAULT '',
name2
varchar(32) NOT NULL DEFAULT '',
email
varchar(62) NOT NULL DEFAULT '',
PRIMARY KEY (id
),
UNIQUE KEYusername
(username
)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ;[/PHP]
File config.php contenente tutti i dati dell'host
[PHP]
<?php$server = "localhost";
$database = "sito";
$db_user = "xxx";
$db_pass = "xxx";
$table = "ac_users";
?>[/PHP]File register.html per l'inserimento dei dati
[PHP]<form action="register.php" method="post">
<p>Username:
<input type="text" name="username" size="20">
<br>
Password:
<input type="password" name="password" size="20">
<br>
Conferma Password:<input type="password" name="pwd_conferma"><br>
First Name :
<input type="text" name="name1" size="20">
<br>
Second Name:
<input type="text" name="name2" size="20">
<br>
Email:
<input type="text" name="email" size="20">
<br><center> <input type="submit" value="Registrati!">[/PHP]
File register.php per l'elaborazione dei dati
[PHP]<?php
include ('config.php');
// connect to the mysql server
$link = mysql_connect($server, $db_user, $db_pass)
or die ("Could not connect to mysql because ".mysql_error());// select the database
mysql_select_db($database)
or die ("Could not select database because ".mysql_error());$username = $_POST['username']; $name1 = $_POST['name1']; $name2 = $_POST['name2']; $email = $_POST['email']; $password = $_POST['password']; $pwd_conferma = $_POST['pwd_conferma']; $db_query = "SELECT * FROM ac_users WHERE username = '$username'"; $res = mysql_query($db_query, $db) or die(mysql_error()); $num_rows = mysql_num_rows($res); // Controllo campi obbligatori if($email==NULL || $username==NULL || $password==NULL) { echo "<br><br><br><br><br><p class='login'>Tutti i campi sono obbligatori, <a href='registrazione.php'>Torna Indietro</a></p>"; } // Controllo Password else if($password != $pwd_conferma) { echo "<br><br><br><br><br><p class='login'>Le password inserite non sono coincidenti, <a href='registrazione.php'>Torna Indietro</a></p>"; } else if(strlen($password) < 4 || strlen($password) > 12) { echo "<br><br><br><br><br><p class='login'>Password troppo corta, o troppo lunga (Minimo 4 lettere e Massimo 12 lettere), <a href='registrazione.php'>Torna Indietro</a></p>"; } // Registrazione dell'utente nel database else { $query = "INSERT INTO ac_users (username, name1, name2, email, password) VALUES ('$username','$name1','$email',MD5('$password')"; mysql_query($query) or die(mysql_error()); echo"<br><br><br><br><br><p class='login'>Registrazione effettuata. Esegui il login da <a href='index.php'>QUI</a></p>"; }
?>[/PHP]
Login.php Form di login
[PHP]<?php
$username = $_POST['username'];
$password = md5($_POST['password']);$result = mysql_query("SELECT * FROM utenti WHERE username='$username'"); if(mysql_num_rows($result) == 0) { echo "<br><br><br><br><br><p class='login'><b>$username</b> non esiste come utente registrato</p>"; echo "<p class='login'>Riprova ad inserire i dati alla pagina di <a href='login.php'>LOGIN</a></p>"; } else { $check = mysql_fetch_array($result); $user = $check['username']; $pass = $check['password']; if($username == $user && $password == $pass) { $_SESSION['username'] = "$username"; $_SESSION['password'] = "$password"; echo "<br><br><br><p class='login'>Login effettuato con successo<br></p>"; echo "<p class='login'>Benvenuto <b>$username</b><br></p>"; echo "<p class='login'>Adesso puoi accedere al contenuto della pagina privata dalla <a href='index.php'>homepage</a></p>"; } else { echo "<br><br><br><br><p class='login'>Password errata<br></p>"; echo "<p class='login'>Riprova ad inserire i dati alla pagina di <a href='login.php'>LOGIN</a></p>"; } } ?>
Username: <input type="text" name="username" size="20"><br>
Password: <input type="password" name="password" size="20"><br>
<input type="submit" value="Log In">
</form><BR><BR>[/PHP]Datemi una mano, vi ringrazio in anticipo
-
Ciao Sem93,
qual'è la query che genera errore? E che errore è?
-
l'ho sistemata dava l'errore la variabile $db che doveva essere cambiata con $link ora ho aggiornato i file e le ho sistemati ma l'errore che ho è quello della sessione, perchè le pagine a cui volevo accedere dovevano essere riservate solo ai loggati