Innanzitutto grazie mille per il file, mi è utilissimo..

Ho provato a modificare il file option.class.php secondo le mie esigenze, ovvero cambiando i nomi delle variabili secondo i nomi dei campi del mio database. Risultato: riesco a scegliere nella prima tendina, ma una volta scelto non si carica nulla nella seconda... Cos'ho sbagliato?
Codice PHP:

<?php

session_start
();

class 
OptionMenu
{
    protected    
$conn;
    protected    
$page;

        public function 
__construct()
        {
            
$this->page basename($_SERVER['PHP_SELF']);
            
$this->DbConnectAndSelect();
            
$this->ParsingAction();

        }

        protected function 
DbConnectAndSelect()
        {
            include 
"db_config.php";

            
$this->conn = @mysql_connect($host,$username,$password) OR
            die(
"Impossibile connettersi al server");

            @
mysql_select_db($db$this->conn) OR
            die(
"Impossibile selezionare il database");
        }

        public function 
JsHeader()
        {
            echo 
'<SCRIPT language=JavaScript>
               <!--
            function goSelect(daform)
            {
                with(daform)
                {
                    top.window.location=options[selectedIndex].value;
                }
            }
            -->
            </SCRIPT>
            '
;

        }

        public function 
ShowOggetti()
        {
            if(isset(
$_SESSION['oggetto']))
            {
                
$oggetto $_SESSION['oggetto'];
            }
            else
            {
                
$oggetto "Seleziona un oggetto";
            }

            
$sql "SELECT id_oggetto, nome_oggetto FROM oggetti";
            
$res mysql_query($sql$this->conn);

            echo 
'<form>
            <select onchange="goSelect(this)" size="1">
            <option>' 
$oggetto '</option>
            '
;

                while(
$row mysql_fetch_array($res))
                {
                    if(
$row['nome_oggetto'] != $oggetto)
                    {
                        echo 
'<option value="' $this->page '?id_ogg=' $row['id_oggetto'] . '&action=marca&oggetto=' $row['nome_oggetto'] . '">' $row['nome_oggetto'] . '</option>
                        '
;
                    }
                }

            echo 
'</select>
            </form>
            '
;
        }

        public function 
ShowMarche()
        {
            if(isset(
$_SESSION['marca']))
            {
                
$marca $_SESSION['marca'];
            }
            else
            {
                
$marca 'Seleziona una marca';
            }

            echo 
'<form>
            <select onchange="goSelect(this)" size="1">
            <option>' 
$marca '</option>
            '
;

            if(
$oggetto $this->SelectMarca())
            {
                
$sql "SELECT id_marca,nome_marca FROM marche WHERE id_ogg='$oggetto'";
                
$res mysql_query($sql$this->conn);

                    while(
$row mysql_fetch_array($res))
                    {
                        if(
$row['nome_marca'] != $marca)
                        {
                            echo 
'<option value="' $this->page '?id_mark=' $row['id_marca'] . '&action=modello&marca=' $row['nome_marca'] . '">' $row['nome_marca'] . '</option>
                        '
;
                        }
                    }
            }

                echo 
'</select>
            </form>
            '
;
        }

        public function 
ShowModelli()
        {
            if(isset(
$_SESSION['modello']))
            {
                
$modello $_SESSION['modello'];
            }
            else
            {
                
$modello 'Seleziona un modello';
            }

            echo 
'<form>
            <select onchange="goSelect(this)" size="1">
            <option>' 
$modello '</option>
            '
;

            if(
$_GET['id_marca'])
            {
                
$sql "SELECT id_modello,nome_modello FROM modelli WHERE id_mark='$_GET[id_marca]'";
                
$res mysql_query($sql$this->conn);

                    while(
$row mysql_fetch_array($res))
                    {
                        echo 
'<option value="' $this->page '?id_modello=' $row['id_modello'] . '&action=end&modello=' $row['nome_modello'] . '">' $row['nome_modello'] . '</option>
                    '
;
                    }
            }

                echo 
'</select>
            </form>
            '
;
        }

        protected function 
SelectMarca()
        {
            if(!
$_GET['id_oggetto'] AND !$_SESSION['oggetto'])
            {
                return 
FALSE;
            }
            else
            {
                if(
$_GET['id_oggetto'])
                {
                    return 
$_GET['id_oggetto'];
                }
                else
                {
                    
$sql "SELECT id_oggetto FROM oggetti WHERE oggetto='$_SESSION[oggetto]'";
                    
$res mysql_query($sql$this->conn);
                    
$row mysql_fetch_array($res);

                    return 
$row['id_oggetto'];
                }
            }
        }

        protected function 
ParsingAction()
        {
            if(isset(
$_GET['action']))
            {
                if(
$_GET['action'] == 'marca')
                {
                    
$_SESSION['oggetto'] = $_GET['oggetto'];
                    unset(
$_SESSION['marca']);
                    unset(
$_SESSION['modello']);
                }
                if(
$_GET['action'] == 'modello')
                {
                    
$_SESSION['marca'] = $_GET['marca'];
                    unset(
$_SESSION['modello']);
                }
                if(
$_GET['action'] == 'end')
                {
                    
$_SESSION['modello'] = $_GET['modello'];
                    
header("Location: result.php");
                    die;
                }
            }
        }
}

?>