- Home
- Categorie
- Coding e Sistemistica
- PHP
- Nome utente e password errati
-
Nome utente e password errati
Ciao a tutti!Ho un problema con uno script di login che protegge una pagina del sito che sto creando.Mi restituisce "nome utente e password errati" anche se li inserisco esatti,vi posto i codici,magari potete aiutarmi a trovare l'errore^_^
Iniziamo con la tabella html contenuta nella pagina che ho chiamato "login.php":
[html]<table width="300" border="0" align="center" cellpadding="0" cellspacing="1" bgcolor="#CCCCCC">
<tr>
<form name="form1" method="post" action="checklogin.php">
<td>
<table width="100%" border="0" cellpadding="3" cellspacing="1" bgcolor="#FFFFFF">
<tr>
<td colspan="3"><strong><center>Accesso Area Riservata </center></strong></td>
</tr>
<tr>
<td width="78">Username</td>
<td width="6">:</td>
<td width="294"><input name="nomeutente" type="text" id="nomeutente"></td>
</tr>
<tr>
<td>Password</td>
<td>:</td>
<td><input name="password" type="text" id="password"></td>
</tr>
<tr>
<td> </td>
<td> </td>
<td><input type="submit" name="Submit" value="Accedi"></td>
</tr>
</table>
</td>
</form>
</tr>
</table>[/html]Poi lo script "checklogin.php"
[php]<?php
ob_start();
$host="localhost";
$username="xxx";
$password="xxx";
$db_name="simmobiliare";
$tbl_name="login";mysql_connect("$host", "$username", "$password")or die("Non riesco a connettermi");
mysql_select_db("$db_name")or die("Non riesco a selezionare il DB");$nomeutente=(isset($_POST['nomeutente']));
$password=(isset($_POST['password']));$nomeutente = stripslashes($nomeutente);
$password = stripslashes($password);
$nomeutente = mysql_real_escape_string($nomeutente);
$password = mysql_real_escape_string($password);$query="SELECT * FROM $tbl_name WHERE nomeutente='$nomeutente' and password='$password'";
$result=mysql_query($query);$count=mysql_num_rows($result);
if($count=='1'){
session_register("nomeutente");
session_register("password");
header("location:login_success.php");
}
else {
echo "Nome utente o password errati";
}ob_end_flush();
?>
[/php]Ed infine,all'inizio del codice della pagina"login_success.php",inserisco questa stringa in modo che si visualizzi la pagina in caso di inserimento corretto di username e pw:
[php]<?
session_start();
if(!session_is_registered(nomeutente)){
header("location:login.php");
}
?>[/php]Il database e la tabella li ho creati direttamente da phpmyadmin.La tabella nominata "login" l'ho creata con 3 campi:id(impostata come primary key,autoincrement,not null),nomeutente(varchar) e password(varchar,md5),ed ho inserito l'username e la password desiderati sempre da phpmyadmin direttamente(giusto per darvi un'idea completa di quello che ho fatto).Sapreste dirmi dove ho sbagliato? Grazie a tutti^_^
-
Ciao Novella,
se la password è salvata in MD5 nel database, nella query devi modificare in maniera che cerchi l'MD5 della password inserita e non la password in chiaro.
-
Ho provato a lasciare il codice così creando la password semplice,non in md5 e mi dà lo stesso errore.Poi ho provato a lasciare la password in md5 e mettere la ricerca md5 nella query,come mi hai suggerito tu,ma nulla!Sempre lo stesso messaggio!:?
Add:allora,forse ho trovato degli errori,domani provo a correggere i parametri che penso siano inesatti,e se funzionano gli script li posto corretti,cosi magari possono essere d'aiuto a qualche altro utente!Speriamo __