Ciao a tutti,
mi trovo alle prese con la creazione di un sistema di login utente, sviluppando tutto in locale non ho riscontrato nessun problema ma una volta trasferito tutto il lavoro lavoro sul server mi sono accorto che dopo la registrazione se vado ad effoture il login non mi permette di accedere con nome utente e pass.

Vi posto il codice sperando che sia una cosa risolvibile.

Grazize a tutti in anticipo.

Form per l'accesso:
codice:
<form id="accesso" name="contact" method="post" action="autentica.php">
<input id="username" type="text" name="user" value="" />   
<input id="password" type="password" name="pass" value="" />
<input type="submit" id="submit" value="LOGIN">
</form>
Autentica.php
Codice PHP:
<?php
require_once "autenticazione/Utente.php";

session_start();

$_SESSION["user"] = new Utente($_POST["user"], $_POST["pass"]);

$_SESSION["user"]->autentica();

if (
$_SESSION["user"]->isAutenticato()) {
    
header("Location: /xxx/index.php");
} else {
    
header("Location: /xxx/index.php?loginFallito=1");
}
?>
autenticazione/Utente.php
Codice PHP:
<?php
class Utente {
    
/**
     *
     * @var string Il nome utente
     */
    
private $nome;

    
/**
     *
     * @var string La password, sia in chiaro che codificata
     */
    
private $password;

    
/**
     *
     * @var bool Lo stato di autenticazione dell'utente
     */
    
private $autenticato;

    
/**
     *
     * @var bool
     */
    
private $passwordCrittata;

    
/**
     *
     * @var array Contiene gli eventuali messaggi di errore in caso di
     * autenticazione fallita.
     */
    
private $errori;

    public function 
__construct($nome$password) {
        
$this->nome $nome;
        
$this->password $password;
        
$this->autenticato false;
        
$this->passwordCrittata false;
        
$this->errori = array();
    }

    public function 
autentica() {
        try {
            
$db = new PDO("mysql:host=localhost;dbname=xxx",
                    
"root",
                    
"",
                    array(
PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8")
            );

            
$db->setAttribute(PDO::ATTR_ERRMODEPDO::ERRMODE_EXCEPTION);

            
$sql sprintf("SELECT * FROM admin WHERE `nome` = '%s'"addslashes($this->nome));
            
$comandoSQL $db->query($sql);

            
$risultato $comandoSQL->fetch(PDO::FETCH_ASSOC);

            unset(
$db);
        } catch (
PDOException $e) {
            
$this->errori[] = $e;
        }

        if (
$risultato) {
            if (!
$this->passwordCrittata) {
                
$this->password hash($risultato["algoritmo"], $this->passwordtrue);
                
$this->passwordCrittata true;
            }

            
$this->autenticato $this->password == $risultato["password"];

            if (!
$this->autenticato)
                
$this->errori[] = "Le password non corrispondono.";
        } else {
            
$this->errori[] = "Utente non trovato.";
        }
    }

    public function 
isAutenticato() {
        return 
$this->autenticato;
    }

    public function  
__toString() {
        return 
$this->nome;
    }
}
?>
Questa è la query che uso per l'inserimento de dati
Codice PHP:
<?php
try{

               
$sql "INSERT INTO  `admin` (`id`, `nome`, `password`)
            VALUES ( '
$id', '$mail', SHA1('$pass'))";

               
//Preparo le strutture per contenere la query
               
$stmt $dbh->prepare($sql);

               
//Controllo se la query è andata a buon fine
               
if (! $stmt->execute() ) echo "[b]Errore nella query.[/b]";

           }
           
//Nel caso in cui ci siano errori, li cattura nella variabile $myerror e li stampa 
           
catch (PDOException $myerror)
           {
                   print 
"Problemi nella connessione al database: 
$myerror->getMessage() . "
"
;
           }
?>