Ragazzi ho un problemino.
Premetto che in quanto a programmazione ad oggetti sono proprio all'inizio.
Ho creato una classe
Codice PHP:
<?php 
class DbController  
{   
    public function 
ApriConnessione()   
    {   
        
// definisco le variabili d'accesso al db
        
$dbhost 'localhost';   
        
$dbusername 'root';   
        
$dbpassword 'pippo';   
        
$dbname 'prova';  

        
$db mysql_connect($dbhost$dbusername$dbpassword);
        if (!
$db)
            die (
"Errore nella connessione. Verificare i parametri d'accesso");
        
mysql_select_db($dbname$db)
            or die (
"Errore nella selezione del database. Verificare i parametri d'accesso");
        return 
$db;
    }    
}  
?>
Quindi la richiamo nella mia pagina principale
Codice PHP:
<?php 
// Includo il Controller del database
include(ADMIN_URL_CONTROLLERS 'DbController.php');

$conn = new DbController();
$db $conn->ApriConnessione();

switch(
$_GET['option'])
{
    case 
'login'
        require_once(
ADMIN_URL_VIEWS 'login/login.php');
    break;
    case 
'404'
        require_once(
ADMIN_URL_VIEWS 'error/error.php');
    break;
    default:
        require_once(
ADMIN_URL_VIEWS 'index/index.php');
    break;
}  
?>
Nella pagina login.php ho questo:
Codice PHP:
<?php 
// Includo il Controller della pagina
include(ADMIN_URL_CONTROLLERS 'LoginController.php');

$var = new LoginController(); 

// Includo gli header della pagina
include(ADMIN_URL_VIEWS 'header.php');
?>
<div id="login">
    <p class="errore"><?php if(isset($_POST['invia'])) $var->AutorizzaUtente(mysql_escape_string($_POST['username']), md5($_POST['password']))?></p>   
    <form action="" method="post">   
        <fieldset>   
        <legend>Login</legend>   
            Username:
   
                <input type="text" name="username" size="25" />
 
            Password:
   
                <input type="password" name="password" size="25" />
   
                <input type="submit" name="annulla" value="Annulla" /><input type="submit" name="invia" value="Invia" />     
        </fieldset>   
    </form>
</div>
e nel LoginController.php quest'altro:
Codice PHP:
<?php 
class LoginController  
{   
    public function 
TitoloPagina()   
    {   
        print 
'Login';     
    }   
    public function 
AutorizzaUtente($username$password)
    {
        
$query "SELECT * FROM prova_cpanel WHERE username = '$username' AND password = '$password'";
        
$result mysql_query($query);
        if(
mysql_num_rows($result) == 1)
        {
            
$row mysql_fetch_array($result);
            print 
'ok';
            
$_SESSION['prova_auth'] = TRUE;
            
$_SESSION['prova_userid'] = $row['id'];
            
$_SESSION['prova_username'] = $username;
            
$_SESSION['prova_last_access'] = $row['last_access'];
            
$query "UPDATE prova_cpanel SET ip = '".$_SERVER['REMOTE_ADDR']."', last_access = '".time()."' WHERE id = ".$_SESSION['tuttannuncitalia_userid']."";
            
mysql_query($query);
            
header("Location: index.php");
            exit();
        }
        else print 
'Errore! Username o password errate';
    }
}  
?>
Insomma la cosa sembrerebbe contorta ma non lo è...sto usando una sorta di framework, fatto da me, per avvicinarmi allo Zend Framework e magari un giorno usarlo con maggiore facilità.
Il problema sta nel fatto che non riesco a creare una connessione al database.
Quando provo a compilare il form della pagina login.php, la funzione AutorizzaUtente() non va, mi restituisce solo l'errore.
Se invece inserisco i dati corretti non appare nulla!