Allora la classe x è una classe x la gestione del database ma è lunga un tot.. se è necessario la posto dopo caso mai.. 
la classe che dà problemi è questa:
	Codice PHP:
	
<?php
class login extends database {
    var $user;
    var $pass;
    function login($user, $pass) {
        $this->user = $user;
        $this->pass = $pass;
        if ($this->utente_valido() == TRUE) {
            setcookie("autenticazione", $this->user . "|" . $this->pass, 0, "/");
            $this->header_location("/action=log");
            } else {
            die ("Non va!!!");
        }
    }
    function riquadro_da_visualizzare($param) {
        if (isset($param)) {
            $this->riquadro = $param;
            } else {
            $this->riquadro = 0;
        }
    }
    function utente_valido() {
            $result = FALSE;
        $pr = "/(?i)^[a-f0-9]{32}$/";
            if(preg_match($pr, $this->pass)) {
            $query = "SELECT id_utente FROM utente WHERE nickname_utente = '$this->user' AND password_utente = '$this->pass'";
            parent::set_query($query);
            if (parent::get_num_rows()) {
                $result = TRUE;
                } else {
                $this->header_location("/action=nolog/error=true");
            }
        }
        return $result;
    }
    function header_location($location) {
        header("Location: " . ROOT_PATH . $_SERVER['REQUEST_URI'] . $location);
    }
}
?>
 
e l'errore dice questa riga:
function login($user, $pass) {
ti posto anche l'istanziazione della classe:
	Codice PHP:
	
echo $_POST['nickname'];
echo $_POST['password'];
if (!empty($_POST['nickname']) && !empty($_POST['password'])) {
    $login_utente = new login;
    $login_utente->login($_POST['nickname'], $_POST['password']);
    } else {
    echo "No entry";
} 
 
Gli echo iniziali son x vedere se passa qlcosa e funzionano.. poi l'if è tanto di prova.. 
Che dici?? 