christian: 3 mal gehts, 4 mal nicht! warum?

huhu! ich hab nochmal ne dumme frage:

ich hab drei buttons auf einer seite, die, wenn sie angeklickt werden, eine fast identische seite in das gleiche Fenster laden. (um eine Liste nach verschiedenen Kategorien zu sortieren).

Dies kann ich dreimal hintereinander tun, beim 4. mal wird die Fehlermeldung "Notice: Undefined index: gatt1" angezeigt. Wie kommt das? Mit dem Betätigen der Buttons wird jedesmal exakt das gleiche gemacht.

Hier n Stück des Quelltextes, leider durchs kopieren unübersichtlich auseinandergezogen:

...
<form action="input_button.htm">
<p>ordnen nach<br>
<input type="button" value="Sys" onClick="self.location.href='linkssys.php?ko1=<?php echo $_GET["ko1"]; ?>
                                                                   &fw1=<?php echo $_GET["fw1"]; ?>

&kr1=<?php echo $_GET["kr1"]; ?>
                                                                     &name1=<?php echo $_GET["name1"]; ?>
                                                                     &fam1=<?php echo $_GET["fam1"]; ?>
                                                                     &deutsch1=<?php echo $_GET["deutsch1"]; ?>
                                                                     &gatt1=<?php echo $_GET["gatt1"]; ?>'">

<input type="button" value="Gatt" onClick="self.location.href='linksgatt.php?ko1=<?php echo $_GET["ko1"]; ?>
                                                                     &fw1=<?php echo $_GET["fw1"]; ?>
                                                                     &kr1=<?php echo $_GET["kr1"]; ?>
                                                                     &name1=<?php echo $_GET["name1"]; ?>
                                                                     &fam1=<?php echo $_GET["fam1"]; ?>
                                                                     &deutsch1=<?php echo $_GET["deutsch1"]; ?>
                                                                     &gatt1=<?php echo $_GET["gatt1"]; ?>'">

<input type="button" value="Art" onClick="self.location.href='linksart.php?ko1=<?php echo $_GET["ko1"]; ?>
                                                                     &fw1=<?php echo $_GET["fw1"]; ?>
                                                                     &kr1=<?php echo $_GET["kr1"]; ?>
                                                                     &name1=<?php echo $_GET["name1"]; ?>
                                                                     &fam1=<?php echo $_GET["fam1"]; ?>
                                                                     &deutsch1=<?php echo $_GET["deutsch1"]; ?>
                                                                     &gatt1=<?php echo $_GET["gatt1"]; ?>'">
</p>
</form>

<?php $link = mysql_connect("localhost", "login", "pass");

mysql_select_db("lepidoptera",$link);
$query = "select KR, FW, Art, Koch, Fam, Gatt, Deu from artenliste  where Koch='$_GET[ko1]'
          or FW='$_GET[fw1]'
          or KR='$_GET[kr1]'
          or Art='$_GET[name1]'
          or Fam='$_GET[fam1]'
          or Deu='$_GET[deutsch1]'
          or Gatt='$_GET[gatt1]' order by Gatt";
....

  1. Hi,

    Dies kann ich dreimal hintereinander tun, beim 4. mal wird die Fehlermeldung "Notice: Undefined index: gatt1" angezeigt. Wie kommt das? Mit dem Betätigen der Buttons wird jedesmal exakt das gleiche gemacht.

    vergleiche die Quellcodes der Ausgabe, insbesondere das, was der Browser nach dem zweiten und dritten Klick erhalten hat.

    Cheatah

  2. Hallo,

    ich habe zwar gar keine Ahnung von php, aber ich denke trotzdem, dass mit den Anführungszeichen etwas nicht stimmt:

    onClick="self.location.href='linkssys.php?ko1=<?php echo $_GET["

    hier ist der String zu Ende, der bei onClick ausgeführt wird.

    ko1"]; ?> ... "

    und das hier ist dann sinnlos, oder?

    Gruß
    Hans35

    1. HI,

      ich habe zwar gar keine Ahnung von php, aber ich denke trotzdem, dass mit den Anführungszeichen etwas nicht stimmt:

      onClick="self.location.href='linkssys.php?ko1=<?php echo $_GET["
      hier ist der String zu Ende, der bei onClick ausgeführt wird.

      Nein. Beim Browser kommt was anderes an, da der PHP-Teil (das Zeug zwischen <?php und ?> inklusive dieser Klammerung) bereits auf dem Server ersetzt wird.

      Andreas