Search-String der URL abfragen
Axel P.
- php
0 Harry0 Axel P.
0 Bernhard Mecl0 Axel P.
Liebe SelfHTML-Community!
Ich würde gerne in PHP das machen, was man mit JavaScript durch
x = window.location.search;
erreicht, nämlich den Search-String der URL ermitteln.
Wie kann ich in PHP4 darauf zugreifen?
Meine Anwendung im Detail:
Ich rufe also ein PHP-Skript durch Absenden eines HTML-Formulars auf und dann steht in der Location-Zeile des Browsers sowas hier:
http://www.meineSeite.de/meinSkript.php?var1=3&var2=7
Das Skript generiert dann eine HTML-Seite, auf der u.a. ein Link auf dasselbe Skript mit denselben Variablen und mit zusätzlichen (!) Variablen aufgerufen werden soll; also ein Link auf folgende URL:
http://www.meineSeite.de/meinSkript.php?var1=3&var2=7&nochEineVar=99
Eine blöde ad-hoc-Lösung wäre: den Search-String im Skript selbst "per hand" zu generieren, aber das Problem dabei liegt auf der Hand: die Anzahl der zu übergebenden Variablen kann sehr groß sein.
Also. Wie geht das?
Tschau,
Axel
Moin
Ich würde gerne in PHP das machen, was man mit JavaScript durch
x = window.location.search;
erreicht, nämlich den Search-String der URL ermitteln.
Wie kann ich in PHP4 darauf zugreifen?
Der gesamte Suchstring steht in $_SERVER["QUERY_STRING"]. Den kannst Du dann selber zerlegen.
Fertig zerlegt ist er (wenn die entsprechende Option in der php.ini gesetzt ist) bereits im Array $argv[] enthalten. (Gerader Index: Variable, ungerader Index: Wert). Die Anzahl der Parameter (also Variablen + Werte) steht in $argc.
Ciao,
Harry
danke für den tip, aber das funktioniert bei meinem server leider nicht. doch ich habe durch deine anregung jetzt endlich im php-manual was gefunden: $QUERY_STRING enthält genau die information, die ich brauche!
axel
Ich würde gerne in PHP das machen, was man mit JavaScript durch
x = window.location.search;
erreicht
Da Du die übergebenen Variablen in $_GET zur Verfügung hast, fiele mir als Grundgerüst folgendes ein:
foreach($_GET as $key=>$value) {
$tokens[]=$key.'='.$value;
}
$string='?'.implode('&',$tokens);
danke für den tip, aber das funktioniert bei meinem server leider nicht. doch ich habe jetzt im php-manual was gefunden: $QUERY_STRING enthält genau die information, die ich brauche!
axel
das funktioniert bei meinem server leider nicht
Besser: noch nicht wegen PHP < 4.1.0, in diesem Fall stehen die entsprechenden Daten in $HTTP_GET_VARS
doch ich habe jetzt im php-manual was gefunden: $QUERY_STRING
Ich hätte mir $_SERVER[1] auch eher ein paar Sekunden vor Abschicken meines vorigen postings nochmal anschauen sollen als danach... :->
[1] Der Inhalt von $QUERY_STRING ist - wie von Harry korrekterweise vorgeschlagen - bei PHP >= 4.1.0 in $_SERVER['QUERY_STRING'] zu finden.