Salve ragazzi, ho creato una classe (Database):

Codice PHP:
<?php

class Database
{

    
/* 
     * Variabile locale alla struttura class database
     */
    
private $db_host '';                    // Host del server
    
private $db_user '';                    // Db Username
    
private $db_pass '';                    // Db Password    
    
private $db_name '';                    // Db Name
    
    
private $result;                        // Risultati restituiti dalla query
    
    /* 
     * Metodo per la connessione al database
     */
    
public function connect()
    {
        
$db_conn mysql_connect($this->db_host$this->db_user$this->db_pass) or die ("Errore nella connessione al db: " mysql_error());
        
        if (
$db_conn)
        {
            
$db_select mysql_select_db($this->db_name,$db_conn) or die ("Errore nella selezione del db: " mysql_error());
        }
        
        if (
$db_select)
        {
            return 
true;
        }
    }
    
    public function 
query($query
    {
        
$this->result mysql_query($query);
 
        if (
$this->result != 0) {
            return 
1;
        }
        else {
            return 
0;
        }
    }
    
    
/*
     * numRows
     */
    
public function numRows()
    {
        return 
mysql_num_rows($this->result);
    }
 
    
/*
     * Fetches an array row
     */
    
public function fetchRow() 
    {
        return 
mysql_fetch_array($this->result);
    }
    
    
/*
     * Check user on the database
     */
    
public function checkUser($query)
    {
        ...
    }
}

?>
Funziona perfettamente, adesso dovrei però creare un metodo checkUser che mi permetta di controllare se un utente è registrato o meno sul db.

Ho questo file che però funziona in modo iterativo:
Codice PHP:
<?php

// Includo il file class.php e richiamo il metodo connect()
include_once("../class.php");
$db = new Database;
$db->connect();

// Ricavo i valori inviati tramite form POST
$username mysql_real_escape_string($_POST['username']);
$password md5($_POST['password']);

// Controllo se nel database è presente username e password
$query "SELECT * FROM admin WHERE username = '".$username."' AND password = '".$password."'";
$db->query($query) or die ("Errore query: " mysql_error());
$num_rows $db->numRows();
$row $db->fetchRow($db->query($query));

if (
$num_rows != 1)
{
    
    
// Ritrono alla pagina di login con un parametro
    
header("Location: login.php?error=1");
    exit();
    
} else {
    
    
// Inizalizzo la sessione
    
session_start(); 
    
    
// Includo le funzioni e richiamo quella che mi permette di generare il codice alfanumerico di 32 caratteri
    
include_once("functions.php");
    
    
// Includo la key in una variabile $logkey
    
$logkey SessioneCasuale(); 
    
    
// Modifico il codice ogni volta che effettuo il login 
    
$update "UPDATE admin SET logkey = '$logkey' WHERE username = '$username'";
    
$db->query($update) or die ("Errore update query: " mysql_error());
    
    
// Salvo in sessione il valore alfanumerico                        
    
$_SESSION['logkey'] = $logkey;
    
    
// Chiudo la connessione al database
    
mysql_close($db->connect());
    
    
header("Location: panel.php");
    
}

?>
Dovrei rendere tutto come metodo della classe "Database", qualcuno può aiutarmi?


Grazie anticipatamente , gaten