Codice PHP:
<?php
//includiamo il file delle funzioni
require ('funzioni.inc');
require (
'config.php');

/*inizializziamo o riprendiamo la sessione*/
session_start();

/*se non è stato fatto il submit del form*/
if($_SERVER['REQUEST_METHOD'] != 'POST') {

?>

<html>
<head>
<title>Login prova</title>
</head>
<body>
<table>
    <tr>
        <td>Area di accesso riservata</td>    
    </tr>
    <tr>
        <td>
            <form action="<?php echo $_SERVER['PHP_SELF']; ?> " method="POST" enctype="application/x-www-form-urlencode">
                <table width="100%">
                    <tr>
                        <td>Nome Utente:</td>
                        <td><input type="text" name="utente"></td>
                    </tr>
                    <tr>
                        <td>Password:</td>
                        <td><input type="password" name="password"></td>
                    </tr>
                    <tr>
                        <td><input type="submit" value="login"></td>
                    </tr>
                </table>    
            </form>    
        </td>
    </tr>
</table>

</body>

</html>

<?php
}

/*se la pagina riceve riceve i dati dal form di login controlla nel database per cercare l'utente*/
else {
    
$connection=mysql_connect($db_host,$db_user,$db_password) or die("impossibile connettersi al database sql.\n");
    
$db=mysql_select_db($db_name,$connection) or die("Impossibile aprire il database. \n");
    
    echo 
"connection: ".$connection;
    echo 
"
"
;
    echo 
"db: ".$db;
    echo 
"
"
;
    
/*interroghiamo il database con i dati passati dall'utente*/
    
$username=$_POST['utente'];
    echo 
"username: ".$username;
    echo 
"
"
;
    
    
$sql_verifica="SELECT * FROM auth_utenti WHERE username='$username' ";
    
    echo 
"sql_verifica: ".$sql_verifica;
    echo 
"
"
;
    
    
$sql_result=mysql_query($sql_verifica,$connection) or die("Query non valida: " mysql_error());
    
    echo 
"sql_result: ".$sql_result;
    echo 
"
"
;
    if (
$Record mysql_fetch_array($sql_result)) {
    
    echo 
"dentro if";
        echo 
"
"
;
//ripuliamo i valori rcuperati
$nome = ($Record["utente"]);
echo 
"nome: ".$nome;
echo 
"
"
;
}
    
    
    
/*se abbiamo trovato l'utente recuperiamo dal database la password codificata corrispondente*/
    
$numero_records=mysql_affected_rows($sql_result);
    
    echo 
"numero_records: ".$numero_records;
    echo 
"
"
;
    if(
$numero_records == 1)
    {
        
$ValoriRiga =mysql_fetch_array($sql_result);
        
$pwdDB $ValoriRiga["password"];
        echo 
"$pwdDB: ".$pwdDB;
        echo 
"
"
;
        
        
/*generiamo l'hash e paragoniamol a quello del database*/
        
if (generaHash($_POST['password'],$pwdDB)===$pwdDB
        {
            
$_SESSION['nome_utente']=$ValoriRiga["nome"];
            
            
/*Se l'utente viene identificato il browser viene reindirizzato alla pagina protetta. per usare l'header ("location")
            è importante che non sia ancora stato inviato nessun output al browser*/
            
$_SESSION['nome_utente']=$_POST['utente'];
            
$_SESSION['IP_utente']=$_SERVER['REMOTE_ADDR'];
            
header("Location:http//".$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF'])."/index.php");
            exit;
            }
        }
        
        
//chiudiamo la connessione al Database


        
mysql_free_result($sql_result);

        
mysql_close($connection);

/*parte la visualizzazione in caso di login errato*/
?>

<html>
<head>
<title>
Login Prova
</title>
<body>
    <table>
        <tr>
            <td>Area Accesso riservata</td>
        </tr>
        <tr>
            <td> Nome utente o password non corretti</td>
            [url="javascript:history.go(-1)"]&lt; indietro[/url]
        </tr>
    </table>
</body>
</head>
</html>
<?php
}
?>
Faccio l'echo di tutte le variabili e vedo questo a video, passando miologin e pwd:
codice:
connection: Resource id #4
db: 1
username: miologin
sql_verifica: SELECT * FROM auth_utenti WHERE username='miologin'
sql_result: Resource id #5
dentro if
nome:
numero_records:
< indietro
Area Accesso riservata
Nome utente o password non corretti