文件中的php错误

时间:2012-02-01 18:04:10

标签: php json

我修改了http://tutorialzine.com/2011/11/chained-ajax-selects-jquery/的文件部分 文件ajax.php,但我收到一个错误,我看不到网站工作。这是我的代码:

 <?php

class SelectBox{
    public $items = array();
    public $defaultText = '';
    public $title = '';

    public function __construct($title, $default){
        $this->defaultText = $default;
        $this->title = $title;
    }

    public function addItem($name, $connection = NULL){
        $this->items[$name] = $connection;
        return $this; 
    }

    public function toJSON(){
        return json_encode($this);
    }
}

$ProductSelect = new SelectBox('Categorie','Seleziona un Livello di Formazione');
$ProductSelect->addItem('Lauree Triennali','TriSelect')
              ->addItem('Lauree Magistrali','MagiSelect')
              ->addItem('Dottorati','DottSelect')
              ->addItem('Master','MasterSelect')
              ->addItem('Esame di Stato Attuario','AttuarioSelect');

// Triennali

$TriSelect = new SelectBox('Lauree Triennali', 'Seleziona Universit&agrave;');
$TriSelect->addItem('Bologna (Triennali)','BolognatriSelect')
            ->addItem('Firenze(Triennali)','FirenzetriSelect')
            ->addItem('Genova(Triennali)','GenovatriSelect')
            ->addItem('Messina(Triennali)','MessinatriSelect')
            ->addItem('Milano (Bicocca)(Triennali)','MilanobicoccatriSelect')
            ->addItem('Padova(Triennali)','PadovatriSelect')
            ->addItem('Perugia(Triennali)','PerugiatriSelect')
            ->addItem('Pisa(Triennali)','PisatriSelect')
            ->addItem('Rimini(Triennali)','RiminitriSelect')
            ->addItem('Roma (Sapienza)(Triennali)','RomasapienzatriSelect')
            ->addItem('Torino(Triennali)','TorinotriSelect')
            ->addItem('Trieste(Triennali)','TriestetriSelect')
            ->addItem('Udine(Triennali)','UdinetriSelect');


// Magistrali

$MagiSelect = new SelectBox('Lauree Magistrali','Seleziona Universit&agrave;');
$MagiSelect->addItem('Bologna (Magistrali)','BolognamagiSelect')
               ->addItem('Firenze (Magistrali)','FirenzemagiSelect')
               ->addItem('Messina  (Magistrali)','MessinamagiSelect')
               ->addItem('Milano (Bicocca) (Magistrali)','MilanobicoccamagiSelect')
               ->addItem('Napoli (Magistrali)','NapolimagiSelect')
               ->addItem('Padova (Magistrali)','PadovamagiSelect')
               ->addItem('Rimini (Magistrali)','RiminimagiSelect')
               ->addItem('Roma (Sapienza) (Magistrali)','RomasapienzamagiSelect')
               ->addItem('Torino (Magistrali)','TorinomagiSelect');

// Dottorati

$DottSelect = new SelectBox('Dottorati', 'Seleziona Universit&agrave;');
$DottSelect->addItem('Bergamo (Dottorati)','BergamodottSelect')
               ->addItem('Bologna (Dottorati)','BolognadottSelect')
               ->addItem('Firenze (Dottorati)','FirenzedottSelect')
               ->addItem('Foggia (Dottorati)','FoggiadottSelect')
               ->addItem('Messina (Dottorati)','MessinadottSelect')
               ->addItem('Milano (Dottorati)','MilanodottSelect')
               ->addItem('Milano (Bicocca) (Dottorati)','MilanobicoccadottSelect')
               ->addItem('Milano (Bocconi) (Dottorati)','MilanobocconidottSelect')
               ->addItem('Padova (Dottorati)','PadovadottSelect')
               ->addItem('Pavia (Dottorati)','PaviadottSelect')
               ->addItem('Perugia (Dottorati)','PerugiadottSelect')
               ->addItem('Pescara (Dottorati)','PescaradottSelect')
               ->addItem('Pisa (Dottorati)','PisadottSelect')
               ->addItem('Roma (Sapienza) (Dottorati)','RomasapienzadottSelect')
               ->addItem('Roma (Roma Tre) (Dottorati)','RomatredottSelect');

// Master

$MasterSelect = new SelectBox('Master', 'Seleziona Universit&agrave;');
$MasterSelect->addItem('Bologna (Master)','BolognamasterSelect')
                ->addItem('Milano (Bicocca) (Master)','MilanobicoccamasterSelect')
                ->addItem('Pavia (Master)','PaviamasterSelect')
                ->addItem('Roma (Cattolica) (Master)','RomacattolicamasterSelect')
                ->addItem('Roma (Sapienza) (Master)','RomasapienzamasterSelect');

// Attuario

$AttuarioSelect = new SelectBox('Esame di Stato Attuario', 'Seleziona una Citt&agrave;');
$AttuarioSelect->addItem('Roma Sapienza (Attuario)' , 'RomasapienzaattuarioSelect')
                ->addItem('Trieste (Attuario)','TriesteattuarioSelect');
// Bologna Triennali

$BolognatriSelect = new SelectBox('Bologna Triennali', 'Seleziona un corso');
$BolognatriSelect->addItem('Sviluppo e Cooperazione Internazionale')
                ->addItem('Scienze Statistiche (Bologna)');

// Firenze Triennali

$FirenzetriSelect = new SelectBox('Firenze Triennali', 'Seleziona un corso');
$FirenzetriSelect->addItem('Statistica (Firenze)');

// Genova Triennali

$GenovatriSelect = new SelectBox('Genova Triennali', 'Seleziona un corso');
$GenovatriSelect->addItem('Statistica Matematica e Trattamento Informatico dei dati');

// Messina Triennali

$MessinatriSelect = new SelectBox('Messina Triennali', 'Seleziona un corso');
$MessinatriSelect->addItem('Scienze Statistiche (Messina)')
        ->addItem('Analisi e Consulenza Statistica');

// Milano Bicocca Triennali

$MilanobicoccatriSelect = new SelectBox('Milano Bicocca Triennali', 'Seleziona un corso');
$MilanobicoccatriSelect->addItem('Statistica e Gestione delle Informazioni')
        ->addItem('Scienze Statistiche ed Economiche (Milano Triennale)');

// Napoli Triennali

$NapolitriSelect = new SelectBox('Napoli Triennali', 'Seleziona un corso');
$NapolitriSelect->addItem('Statistica (Napoli)')
;

// Padova Triennali

$PadovatriSelect = new SelectBox('Padova Triennali', 'Seleziona un corso');
$PadovatriSelect->addItem('Statistica e Tecnologie Informatiche')

        ->addItem('Statistica e Gestione delle Imprese')
        ->addItem('Statistica Economia e Finanza')
;

// Perugia Triennali

$PerugiatriSelect = new SelectBox('Perugia Triennali', 'Seleziona un corso');
$PerugiatriSelect->addItem('Statistica e Informatica per la Gestione delle Imprese')
;

// Pisa Triennali

$PisatriSelect = new SelectBox('Pisa Triennali', 'Seleziona un corso');
$PisatriSelect->addItem('Statistica per l&#146Economia e per l&#146Azienda');

// Rimini Triennali

$RiminitriSelect = new SelectBox('Rimini Triennali', 'Seleziona un corso');
$RiminitriSelect->addItem('Finanza, Assicurazioni e Impresa');

// Roma Sapienza Triennali

$RomasapienzatriSelect = new SelectBox('Roma Sapienza Triennali', 'Seleziona un corso');
$RomasapienzatriSelect->addItem('Statistica Gestionale')
        ->addItem('Statistica, Economia e Societ&agrave;')
        ->addItem('Statistica, Economia Finanza e Assicurazioni');

// Torino Triennali

$TorinotriSelect = new SelectBox('Torino Triennali', 'Seleziona un corso');
$TorinotriSelect->addItem('Scienze Statistiche (Torino)');

// Trieste Triennali

$TriestetriSelect = new SelectBox('Trieste Triennali', 'Seleziona un corso');
$TriestetriSelect->addItem('Statistica e Informatica per l&#146Azienda, la Finanza e l&#146Assicurazione');

// Udine Triennali

$UdinetriSelect = new SelectBox('Udine Triennali', 'Seleziona un corso');
$UdinetriSelect->addItem('Statistica e Informatica per la Gestione delle Imprese');
// Bologna Magistrali

$magiSelect = new SelectBox('Bologna Magistrali', 'Seleziona un corso');
$magiSelect->addItem('Statistica, Economia e Impresa')
        ->addItem('Scienze Statistiche (Bologna)')
        ->addItem('Quantitative Finance');

// Firenze Magistrali

$FirenzemagiSelect = new SelectBox('Firenze Magistrali', 'Seleziona un corso');
$FirenzemagiSelect->addItem('Scienze Statistiche (Firenze)');
// Messina Magistrali

$MessinamagiSelect = new SelectBox('Messina Magistrali', 'Seleziona un corso');
$MessinamagiSelect->addItem('Statistica per le Applicazioni')
        ->addItem('Statistica e Tecniche Decisionali');
// Milano Bicocca Magistrali

$MilanobicoccamagiSelect = new SelectBox('Milano Bicocca Magistrali', 'Seleziona un corso');
$MilanobicoccamagiSelect->addItem('Scienze e Gestione dei Servizi')
        ->addItem('Scienze Statistiche ed Economiche (Milano Magistrale)')
        ->addItem('Biostatistica e Statistica Sperimentale');
// Napoli Magistrali

$NapolimagiSelect = new SelectBox('Napoli Magistrali', 'Seleziona un corso');
$NapolimagiSelect->addItem('Scienze Statistiche per le Decisioni');
// Padova Magistrali

$PadovamagiSelect = new SelectBox('Padova Magistrali', 'Seleziona un corso');
$PadovamagiSelect->addItem('Scienze Statistiche (Padova)');
// Rimini Magistrali

$RiminimagiSelect = new SelectBox('Rimini Magistrali', 'Seleziona un corso');
$RiminimagiSelect->addItem('Sistemi Informativi per l&#146Azienda e la Finanza')        
;
// Roma Sapienza Magistrali

$RomasapienzamagiSelect = new SelectBox('Roma Sapienza Magistrali', 'Seleziona un corso');
$RomasapienzamagiSelect->addItem('Scienze Statistiche per le Strategie Aziendali')
        ->addItem('Scienze Statistiche ed Economiche (Roma)')
        ->addItem('Scienze Statistiche e Decisionali')
        ->addItem('Scienze Statistiche Demogrfiche e Sociali')
        ->addItem('Scienze Attuariali e Finanziarie');
// Torino Magistrali

$TorinomagiSelect = new SelectBox('Torino Magistrali', 'Seleziona un corso');
$TorinomagiSelect->addItem('Sviluppo, Ambiente e Cooperazione');

// Bergamo Dottorati

$BergamodottSelect = new SelectBox('Bergamo Dottorati', 'Seleziona un corso');
$BergamodottSelect->addItem('Economics, Applied Mathematics and Operational Research')
        ->addItem('Metodi Computazionali per le Previsioni e Decisioni Economiche e Finanziarie');
// Bologna Dottorati

$BolognadottSelect = new SelectBox('Bologna Dottorati', 'Seleziona un corso');
$BolognadottSelect->addItem('Metodologia Statistica per la Ricerca Scientifica');
// Firenze Dottorati

$FirenzedottSelect = new SelectBox('Firenze Dottorati', 'Seleziona un corso');
$FirenzedottSelect->addItem('Statistica Applicata')
;
// Foggia Dottorati

$FoggiadottSelect = new SelectBox('Foggia Dottorati', 'Seleziona un corso');
$FoggiadottSelect->addItem('Metodi Matematici per le Decisioni Economiche e Finanziarie')
;
// Messina Dottorati

$MessinadottSelect = new SelectBox('Messina Dottorati', 'Seleziona un corso');
$MessinadottSelect->addItem('Turismo Sostenibile, Fiscalit&agrave di Vantaggio, Metodi Statistici per l&#146Ambiente e la Qualit&agrave')
;
// Milano Dottorati

$MilanodottSelect = new SelectBox('Milano Dottorati', 'Seleziona un corso');
$MilanodottSelect->addItem('Statistica Medica')
        ->addItem('Matematica e Statistica per le Scienze Computazionali')
;
// Milano Bicocca Dottorati

$MilanobicoccadottSelect = new SelectBox('Milano Bicocca Dottorati', 'Seleziona un corso');
$MilanobicoccadottSelect->addItem('Scienze Economiche')
        ->addItem('Statistica (Milano Bicocca)')
;
// Milano Bocconi Dottorati

$MilanobocconidottSelect = new SelectBox('Milano Bocconi Dottorati', 'Seleziona un corso');
$MilanobocconidottSelect->addItem('Statistica (Milano Bocconi)')
;
// Padova Dottorati

$PadovadottSelect = new SelectBox('Padova Dottorati', 'Seleziona un corso');
$PadovadottSelect->addItem('Statistica (Padova)')
;
// Pavia Dottorati

$PaviadottSelect = new SelectBox('Pavia Dottorati', 'Seleziona un corso');
$PaviadottSelect->addItem('Matematica e Statistica')
;
// Perugia Dottorati

$PerugiadottSelect = new SelectBox('Perugia Dottorati', 'Seleziona un corso');
$PerugiadottSelect->addItem('Metodi Matematici e Statistici per le Scienze Economiche e Sociali')
;
// Pescara Dottorati

$PescaradottSelect = new SelectBox('Pescara Dottorati', 'Seleziona un corso');
$PescaradottSelect->addItem('Economics and Statistics')
;
// Pisa Dottorati

$PisadottSelect = new SelectBox('Pisa Dottorati', 'Seleziona un corso');
$PisadottSelect->addItem('Matematica per le Decisioni Economiche')
;
// Roma Sapienza Dottorati

$RomasapienzadottSelect = new SelectBox('Roma Sapienza Dottorati', 'Seleziona un corso');
$RomasapienzadottSelect->addItem('Analisi Economica, Matematica e Statistica dei Fenomeni Sociali')
        ->addItem('Statistica Economica')
        ->addItem('Ricerca Operativa')
        ->addItem('Statistica Metodologica')
        ->addItem('Scienze Attuariali')
;
// Roma Tre Dottorati

$RomatredottSelect = new SelectBox('Roma Tre Dottorati', 'Seleziona un corso');
$RomatredottSelect->addItem('Metodi Statistici per l&#146Economia e l&#146Impresa')
        ->addItem('Economia e Metodi Quantitativi')
;

// Bologna Master

$BolognamasterSelect = new SelectBox('Bologna Master', 'Seleziona un corso');
$BolognamasterSelect->addItem('Ricerche di Mercato e Data Mining (Sede di Buenos Aires)')
        ->addItem('Biostatistica') 
;
// Milano Bicocca Master

$MilanobicoccamasterSelect = new SelectBox('Milano Bicocca Master', 'Seleziona un corso');
$MilanobicoccamasterSelect->addItem('Business Intelligence e Sistemi di Supporto per le Decisioni') 
;
// Pavia Master

$PaviamasterSelect = new SelectBox('Pavia Master', 'Seleziona un corso');
$PaviamasterSelect->addItem('Epidemiologia Genetica e Molecolare') 
;
// Roma Cattolica Master

$RomacattolicamasterSelect = new SelectBox('Roma Cattolica Master', 'Seleziona un corso');
$RomacattolicamasterSelect->addItem('Epidemiologia e Biostatistica')
;
// Roma Sapienza Master

$RomasapienzamasterSelect = new SelectBox('Roma Sapienza Master', 'Seleziona un corso');
$RomasapienzamasterSelect->addItem('Gestione della Mobilit&agrave Sostenibile')
        ->addItem('Data Intelligence e Strategie Decisionali') 
        ->addItem('Fonti Strumenti e Metodi per la Ricerca Sociale') 
;


// Roma Sapienza Attuario

$RomasapienzaattuarioSelect = new SelectBox('Esame di Roma', 'Seleziona il tipo di esame');
$RomasapienzaattuarioSelect->addItem('Attuario (Roma)')
        ->addItem('Attuario Junior (Roma)')

;
// Trieste Attuario

$TriesteattuarioSelect = new SelectBox('Esame di Trieste', 'Seleziona il tipo di esame');
$TriesteattuarioSelect->addItem('Attuario (Trieste)')
        ->addItem('Attuario Junior (Trieste)');

// Registra le Variabili in una Array

$selects = array(
    'ProductSelect'         => $ProductSelect,
    'TriSelect'         => $TriSelect,
    'MagiSelect'        => $MagiSelect,
    'DottSelect'            => $DottSelect,
    'MasterSelect'          => $MasterSelect,
    'AttuarioSelect'            => $AttuarioSelect,
    'BolognatriSelect'          => $BolognatriSelect,
    'FirenzetriSelect'          => $FirenzetriSelect,
    'GenovatriSelect'           => $GenovatriSelect,
    'MessinatriSelect'          => $MessinatriSelect,
    'MilanobicoccatriSelect'            => $MilanobicoccatriSelect,
    'NapolitriSelect'           => $NapolitriSelect,
    'PadovatriSelect'           => $PadovatriSelect,
    'PerugiatriSelect'          => $PerugiatriSelect,
    'PisatriSelect'         => $PisatriSelect,
    'RiminitriSelect'           => $RiminitriSelect,
    'RomasapienzatriSelect'         => $RomasapienzatriSelect,
    'TorinotriSelect'           => $TorinotriSelect,
    'TriestetriSelect'          => $TriestetriSelect,
    'UdinetriSelect'            => $UdinetriSelect,
    'BolognamagiSelect'     => $BolognamagiSelect,
    'FirenzemagiSelect'     => $FirenzemagiSelect,
    'MessinamagiSelect'     => $MessinamagiSelect,
    'MilanobicoccamagiSelect'       => $MilanobicoccamagiSelect,
    'NapolimagiSelect'      => $NapolimagiSelect,
    'PadovamagiSelect'      => $PadovamagiSelect,
    'RiminimagiSelect'      => $RiminimagiSelect,
    'RomasapienzamagiSelect'        => $RomasapienzamagiSelect,
    'TorinomagiSelect'      => $TorinomagiSelect,
    'BergamodottSelect'         => $BergamodottSelect,
    'BolognadottSelect'         => $BolognadottSelect,
    'FirenzedottSelect'         => $FirenzedottSelect,
    'FoggiadottSelect'          => $FoggiadottSelect,
    'MessinadottSelect'         => $MessinadottSelect,
    'MilanodottSelect'          => $MilanodottSelect,
    'MilanobicoccadottSelect'           => $MilanobicoccadottSelect,
    'MilanobocconidottSelect'           => $MilanobocconidottSelect,
    'PadovadottSelect'          => $PadovadottSelect,
    'PaviadottSelect'           => $PaviadottSelect,
    'PerugiadottSelect'         => $PerugiadottSelect,
    'PescaradottSelect'         => $PescaradottSelect,
    'PisadottSelect'            => $PisadottSelect,
    'RomasapienzadottSelect'            => $RomasapienzadottSelect,
    'RomatredottSelect'         => $RomatredottSelect,
    'BolognamasterSelect'           => $BolognamasterSelect,
    'MilanobicoccamasterSelect'         => $MilanobicoccamasterSelect,
    'PaviamasterSelect'         => $PaviamasterSelect,
    'RomacattolicamasterSelect'         => $RomacattolicamasterSelect,
    'RomasapienzamasterSelect'          => $RomasapienzamasterSelect,
    'RomasapienzaattuarioSelect' => $RomasapienzaattuarioSelect,
    'TriesteattuarioSelect' => $TriesteattuarioSelect
);

if(array_key_exists($_GET['key'],$selects)){
    header('Content-type: application/json');
    echo $selects[$_GET['key']]->toJSON();
}
else{
    header("HTTP/1.0 404 Not Found");
    header('Status: 404 Not Found');
}

?>

我不明白问题出在哪里,我花了两个多小时寻找一些我没找到的东西。

1 个答案:

答案 0 :(得分:1)

$BolognamagiSelect未定义。

参考此处:

$selects = array(
    'ProductSelect'         => $ProductSelect,
    // ....truncated... //
    'UdinetriSelect'        => $UdinetriSelect,
    'BolognamagiSelect'     => $BolognamagiSelect, // <-- here
    'FirenzemagiSelect'     => $FirenzemagiSelect,
    // ....truncated... //
);