Alle Kategorien
Suche

Mit PHP den Query String auslesen - so geht's

Um den Query String, also einen bestimmten Teil einer Webadresse, ausgeben zu lassen, können Sie dies mit wenigen Zeilen PHP-Code machen. Erfahren Sie hier, wie Sie dies schnell und einfach machen können.

Den Query String einer URL mit PHP auslesen.
Den Query String einer URL mit PHP auslesen.

Query Strings einer URL

Manche Webadressen (URL) enthalten einen Query-String, in welchem über das HTTP-GET-Verfahren verschiedene Paramenter übertragen werden.

  • Die Übertragung könnte zum Beispiel bei einem Formular stattfinden, bei dem nach dem Absenden die Daten mit der GET-Methode übergeben werden.
  • Sie erkennen einen Query String anhand eines Fragezeichens, welches nach der aufgerufenen Datei angezeigt wird. Würden Sie zum Beispiel die Website mit der Adresse "website.de/kontakt?name=test&vorname=person" aufrufen, wären alles nach dem Fragezeichen der Query String, also "name=test&vorname=person". Der Query String hätte zwei Parameter, die mit "&" voneinander getrennt werden. Der Parameter "name" hätte dabei den Wert "test" und der Parameter "vorname" den Wert "person".

Query String mit PHP auslesen

Wenn Sie den aktuellen Query String innerhalb einer PHP-Datei auslesen lassen möchten, haben Sie mehrere Möglichkeiten zur Auswahl, wobei bei den folgenden Erläuterungen davon ausgegangen wird, dass die aufgerufene Datei "test.php" lautet und drei Parameter (a, b und c) mit den Werten 1, 2 und 3 übergeben werden.

  • Sollten Sie die einzelnen Parameter-Bezeichnungen kennen, können Sie diese einfach direkt ausgeben lassen. So könnten Sie zum Beispiel 
    <?
    echo $_GET['a']."<br />";
    echo $_GET['b']."<br />";
    echo $_GET['c'];
    ?>
    schreiben und Sie würden dann folgende Ausgabe erhalten
    1
    2
    3
  • Wenn Sie die einzelnen Parameter nicht kennen sollten, können Sie sich mit der Funktion "$_SERVER['REQUEST_URI']" alles nach dem Domainnamen anzeigen lassen. Sollte Ihre Adresse also zum Beispiel "website.de/test.php?a=1&b=2&c=3" lauten, würden Sie mit <? echo $_SERVER['REQUEST_URI']; ?> die Ausgabe "/test.php?a=1&b=2&c=3" erhalten.
  • Um die Ausgabe weiter zu kürzen, könnten Sie alles links vom Fragezeichen mit "strstr" abschneiden lassen. So würden Sie mit
    <?
    $string = strstr($_SERVER['REQUEST_URI'], '?'); 
    echo $string;
    ?>
    die Ausgabe "?a=1&b=2&c=3" erhalten.
  • Um nur noch den Querystring zu erhalten, also das Fragezeichen zu entfernen, könnten Sie noch schreiben:
    <?
    $string = strstr($_SERVER['REQUEST_URI'], '?'); 
    $string = ($string===false) ? '' : substr($string, 1); 
    echo $string;
    ?> 
  • Dadurch würden Sie die bei einem existierenden String die erste Stelle, also das Fragezeichen, entfernen lassen und hätten dann als Ausgabe den gesuchten Query String "a=1&b=2&c=3".
Teilen: