Felix Riesterer: Links mit GET

Beitrag lesen

Liebe(r) Buubel,

Du hast da etwas missverstanden. Das Array $_GET wird vom Server mit Inhalten bestückt. Wenn Du darauf schreibend zugreifst, dann zerstörst Du die vom Server gelieferten Informationen. Nutze es _lesend_ wie in meinem Beispiel! Das Code-Beispiel am Anfang war nur eine Illustration, was sich in $_GET befindet. Sorry für das Missverständnis.

Wenn Du in das Array $_GET viermal den Index "id" mit einem Wert versiehst, dann ist logisch, dass der Wert der letzten Zuweisung erhalten bleibt. Dass Du damit den ursprünglichen (vom Server eingetragenen) Wert überschreibst, ist klar.

  

> <?  

// Das hier entfällt ersatzlos:  

> $_GET = array(  
>           id => 1,  
>           id => 2,  
>           id => 3,  
>           id => 4  
>   
> );  

// So. Ab hier geht Dein Script wirklich los:  

> $id = "";  
> if(isset($_GET['id'])) $id = $_GET['id'];  
>   
> switch($id)  
> {  
> case "1":  
> $ergebnis = "Das ist Auswahl 1!";  
> break;  
>   
> case "2":  
> $ergebnis = "Das ist Auswahl 2!";  
> break;  
>   
> case "3":  
> $ergebnis = "Das ist Auswahl 3!";  
> break;  
>   
> case "4":  
> $ergebnis = "Das ist Auswahl 4!";  
> break;  

// hier fehlt noch ein "default:"-Abschnitt. Ohne diesen  
// schmeißt Dein Script beim kompletten Fehlen des GET-Parameters  
// überhaupt keinen Inhalt aus, da keine CASE-Anweisung zutrifft  
// und damit die komplette switch-Anweisung "ignoriert" wird.  

> }  
> ?>

Liebe Grüße aus Ellwangen,

Felix Riesterer.