[PHP] - Problem mit Webserver



  • Servus,

    Also ich hab mir ein kleines Menü mit PHP programmiert. Daheim getestet mit PHP und Apache läuft es wunder bar! Soll so aussehen:
    http://www.brain-death.net/ss00.jpg

    tut aber so aussehen:
    http://www.brain-death.net/projects/abi/

    Das Menü Array sieht so aus:

    $mlinks[0]['titel'] = 'Startseite';
    	$mlinks[0]['url'] = '?seite=startseite';
    	$mlinks[0]['gif'] = 'seiten/startseite/titel.gif';
    
    	$mlinks[3]['titel'] = 'Abitur';
    		$mlinks[3]['url'] = '?seite=abitur';
    		$mlinks[3]['gif'] = 'seiten/abitur/titel.gif';
    		$mlinks[3]['eintrag']['Website']['url']				= 'kapitel=website';
    		$mlinks[3]['eintrag']['Website']['gif']				= 'seiten/abitur/website.gif';
    
    		$mlinks[3]['eintrag']['Zeitung']['url']				= 'kapitel=zeitung';
    		$mlinks[3]['eintrag']['Zeitung']['gif']				= 'seiten/abitur/zeitung.gif';		
    
    		$mlinks[3]['eintrag']['Shirt']['url']				= 'kapitel=shirt';
    		$mlinks[3]['eintrag']['Shirt']['gif']				= 'seiten/abitur/shirt.gif';
    
    		$mlinks[3]['eintrag']['Motto']['url']				= 'kapitel=motto';
    		$mlinks[3]['eintrag']['Motto']['gif']				= 'seiten/abitur/motto.gif';
    

    Das Hauptmenü les ich so aus:

    <?php
    	foreach($mlinks as $menue){
    		$titel	= $menue['titel'];
    		$url	= $menue['url'];
    
    		echo "<a href=\"$url\">$titel</a>";
    
    		?>
    		<span class="trennzeichen">#</span>
    		<?php						
    	} 
    ?>
    

    Und das Untermenü so:

    <?php
    		$titel 		= getMenue();
    		$subtitel	= getSubMenue();
    
    		foreach($mlinks as $menue){
    			$menueurl = $menue['url'];
    
    			if($menue['titel']==$titel){
    				if(isset($menue['gif'])){
    					$gif	= $menue['gif'];
    
    					// Titelbildadresse speichern
    					if(isset($_SESSION['gif']))$_SESSION['gif'] = $gif;
    				}
    
    				// Auf Untermenüs prüfen
    				if(isset($menue['eintrag'])){
    					// Untermenüs auslesen
    					foreach($menue['eintrag'] as $name => $eigenschaft){
    						$url	= $eigenschaft['url'];
    
    						// evtl. gif auslesen
    						// & setzen
    						if($name==$subtitel && isset($eigenschaft['gif']) && strlen($eigenschaft['gif'])>0){
    							$gif = $eigenschaft['gif'];
    							if(isset($_SESSION['gif']))$_SESSION['gif'] = $gif;
    						}
    
    						// Link ausgeben
    						echo "<a href=\"${menueurl}&amp;${url}\">$name</a>&nbsp;&nbsp;&nbsp;";	
    					}
    				}else
    					echo '&nbsp;';
    
    				// stopp
    				break;
    			}
    		}										
    
    	?>
    

    Ich schätze, dass es was mit dem Array zu tun hat ... aber ich weiss nicht was!

    Daheim php: 4.3.1
    Server php: 4.3.4

    Wo ist das Problem?
    Ich bekomms nicht raus!

    para



  • Also ich weiss jetzt an was es lag.
    Der Server hat irgentwie nen Macken, denn für ihn ist $_SESSION['menue'] das gleiche wie eine global Variable $menue. Das hat mir dann alle Variablen und Session-Inhalte verwürfelt ...

    Das ist doch nicht normal, oder?
    http://abi05.brain-death.net

    para



  • Doch ist es, wenn register_globals auf true gesetzt ist. Da werden alle Variablen in $_POST, $_GET, $_SESSION, $_REQUEST, $_COOKIE, ...(gibts noch mehr 😕 ) als einfache Variablen angelegt.



  • Alles klar, danke!
    ciao


Anmelden zum Antworten