• User

    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^_^


  • ModSenior

    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.


  • User

    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 __