fabo: Links mit GET

Beitrag lesen

ich hab mal angefangen so'n ansatz zu programmieren. läuft auch ganz gut hat bloß leider noch ne kleine macke. ich glaub das liegt am array. vielleicht hab ich auch bloß irgendwas blödes übersehen?! ich lass die variable $ergebnis einfach ausgeben, doch der zeigt die ganze zeit "...Auswahl 4" auch wenn man gar nichts anklickt! in der url ändert sicher aber immerhin schon mal "?id=..." !

hallo buubel,

folgende anweisung stellt das problem dar, sofern sie innerhalb deines quellcodes auftaucht:

<?
$_GET = array(
          id => 1,
          id => 2,
          id => 3,
          id => 4

);

Hier weist du jedesmal der variablen "id" aus dem get-array einen neuen wert zu.
erst 1, dann 2, dann 3, dann 4.
(dann steht das christkind vor der tür ;) )

du überschreibst immer den jeweils zuvor gesetzten wert.

wenn ich dein vorhaben recht verstanden habe, solltest du diese zeilen komplett aus deinem code löschen.

du möchtest ja feststellen, welche link dein benutzer gedrückt hat.
durch das drücken dieses links wird das get-array mit dem gewünschten wert gefüllt.

bsp.:
nehmen wir an, du hast auf der seite folgende links:

<a href="texte.php?id=1">Text 1 anzeigen</a>
<a href="texte.php?id=2">Text 2 anzeigen</a>
<a href="texte.php?id=3">Text 3 anzeigen</a>
<a href="texte.php?id=4">Text 4 anzeigen</a>

der benutzer drückt folgenden link:

<a href="texte.php?id=1">Text 1 anzeigen</a>

daraufhin erhält die variable "id" innerhalb des Get-Arrays
den wert von 1.

drückt der benutzer diesen link:

<a href="texte.php?id=3">Text 3 anzeigen</a>

dann bekommt die variable "id" innerhalb des Get-Arrays
den wert von 3.

wenn du nun

<?
$_GET = array(
          id => 1,
          id => 2,
          id => 3,
          id => 4

);

danach ausführst, überschreibst du die variable innerhalb des arrays
mit dem wert von 4, noch bevor dieses ausgewertet wurde.
damit ist die gewünschte information verloren.
also weglassen.

den rest deines codes stehenlassen, und du solltest die gewünschten ergebnisse erhalten.

$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;
}
?>

mfg fabo