MIchaelR: QUERY String auslesen

Hallo,

könnt ihr mir bitte helfen, ich versuche den mit ? angehängten Teil einer URl (z. B. www.heute.nicht.de/index.php?warum) auszulesen.

mit

if ($QUERY_STRING == "warum"){...}

bekomm ich immer eine Fehlermeldung, dass die Variable QUERY_STRING nicht definiert sei ???

(Meine PHP Version: 4.2.1)

Danke schonmal
Michael

  1. Hallo,

    könnt ihr mir bitte helfen, ich versuche den mit ? angehängten Teil einer URl (z. B. www.heute.nicht.de/index.php?warum) auszulesen.

    mit

    if ($QUERY_STRING == "warum"){...}

    bekomm ich immer eine Fehlermeldung, dass die Variable QUERY_STRING nicht definiert sei ???

    (Meine PHP Version: 4.2.1)

    Danke schonmal
    Michael

    Die Variablen, wenn Sie über die URL übergeben werden, werden dann per GET übergeben.
    Sie stehen alle im HTTP_GET_VARS Array und können per $HTTP_GET_VARS['var'] angesprochen werden.

    Die Meldung die Dir ausgegeben wird, ist nur ein Hinweis. Er weisst Dich nur darauf hin, das die Variable beim Ladezeitpunkt nicht definiert ist.
    Diesen Hinweis kannst Du in der php.ini unterbinden indem Du e_notice auf false setzt.

    Die php.ini findest Du im Apache Verzeichniss (c:\apache bei Windows oder im /etc Verzeichniss auf Unix basierenden Systemen).

    1. Danke !

      Gruß
      Michael

    2. Hallo,

      Die Meldung die Dir ausgegeben wird, ist nur ein Hinweis. Er weisst Dich nur
      darauf hin, das die Variable beim Ladezeitpunkt nicht definiert ist.

      Nein, er weist darauf hin, dass die Variable zu dem Zeitpunkt, zu dem sie benutzt
      wird, nicht gesetzt ist. Und das liegt wohl daran, dass track_vars oder
      register_globals (welche der beiden Direktiven jetzt genau dafuer zustaendig war,
      habe ich vergessen) nicht eingeschaltet ist. Die Loesung ist ein

      $var = getenv("QUERY_STRING");

      Diesen Hinweis kannst Du in der php.ini unterbinden indem Du e_notice auf
      false setzt.

      Das ist sinnlos. Diese 'notices' haben durchaus ihren Grund. Ein Script, das ein
      'notice' ausloest, ist unsauber.

      Die php.ini findest Du im Apache Verzeichniss (c:\apache bei Windows oder im
      /etc Verzeichniss auf Unix basierenden Systemen).

      Das ist sehr stark abhaengig von der Umgebung. Die Information, wo die php.ini
      liegt (liegen sollte), gibt dir phpinfo().

      Gruesse,
       CK

  2. bekomm ich immer eine Fehlermeldung, dass die Variable QUERY_STRING nicht definiert sei ???

    (Meine PHP Version: 4.2.1)

    Probier' doch mal $_SERVER["QUERY_STRING"] :).