Kommandozeilen Parameter aus globalen Variablen auslesen

Thomasio

Erfahrenes Mitglied
Ich habe einen Link, der sieht etwa so aus:

./script.php?x=1&y=2

oder

./script.php?a=Text

Jetzt möchte ich eine Funktion schreiben, die das Ganze ausliest, so dass ich am Ende alles was hinter dem ? steht in einer Variablen habe, also

$parameter = "x=1&y=2";

oder

$parameter = "a=Text";

Ich habe experimentiert mit diversen $_SERVER['irgendwas'], ich bringe es fast auf die Reihe, nur wenn mehr als ein Wert übergeben wird bekomme ich nur den Ersten.
Keine Ahnung warum, aber ab dem ersten & schneidet er mir den Rest ab.

Kann mir jemand sagen, wie ich immer alle Parameter auslesen kann?
 
Du hast schon am richtigen Ort gesucht
PHP:
var_dump($_SERVER['QUERY_STRING']);

@crack
Er meint mit Komandiozeile glaub die Browser-Adresszeile
 
Sorry, wenn ich nicht immer die richtigen Begriffe kenne, bin halt Anfänger.

var_dump($_SERVER['QUERY_STRING']);

gibt das zwar aus, aber in Form von

array(x) {
[0]=>
int(x)
...


Da habe ich die Werte und deren Typ, aber von meinem gewünschen string bin ich weit entfernt.
Gibt es nicht irgendwas in $_SERVER oder so, was schlicht 1:1 alles hinter dem Fragezeichen ausgibt?
Von mir aus auch die gesamte Adresszeile, die ich dann mit explode am ? trennen kann.
Wieso erst alles zerlegen, wenn ich es dann doch wieder genauso zusammensetzen will, wie es vorher war?
 
Wenn bei dir der Index QUERY_STRING ein Array ist, dann solltest du mal schauen, ob du deinen Webserver richtig konfiguriert hast, weil das sollte nicht passieren.
 
Probier mal folgendes aus: erstelle eine leere Datei und schreibe da außer dem PHP-Anfangstag nur die Funktion phpinfo() rein, und schau dir dann mal die Ausgabe im Browser an. Ansonsten kannst du auch mal einen Link dazu hier rein schreiben, damit wir uns das mal ansehen können.
 
PFFFFF, ich bin einfach nur zu blöd dazu.
Ein & zuviel beim zusammenbauen und schon wird aus dem QUERY_STRING ein array.
Kaum entfernt, schon gehts.
Vielen Dank euch beiden für die Hilfe.
 
Zurück