2011-01-13 16 views
0

Ich muss die $ _GET-Werte festlegen; Darf ich das machen?

dh ich habe ein leeres $ _GET Array. Wie kann es nicht leer mit PHP machen?

Vielleicht mit Hilfe von http-Headern?

Vielen Dank im Voraus;

+1

Meinen Sie Daten in die '$ _GET' Variable über eine HTTP-Anforderung übergeben? – Olical

+0

@ Wolfy87. Ja. Ich habe ein leeres $ _GET-Array. Wie kann es nicht leer mit PHP machen? – pltvs

Antwort

3

Es gibt drei Möglichkeiten, dies zu tun.

One:

<form method="get" action="file.php"> 
<input type="text" name="TextThing" /> 
</form> 

In der PHP-Datei:

$_GET["TextThing"]; //contains the text of the texbox TextThing... 

Zweitens:

Verwenden Sie ein Question hinter der URL, wie folgt aus: http://domain.com/file.php?foo=bar&stack=overflow

Dann:

$_GET["foo"]; //contains bar 
$_GET["stack"]; //contains overflow 

Denken Sie daran, dass Ihre Benutzer die Werte der Variablen leicht ändern können.

Drittens:

$_GET["foo"] = "bar"; 
$_GET["foo"]; //contains bar 
1

$_GET mit den params/Werte in der Abfragezeichenfolgeflag der URL gesendet bevölkert, also wenn Sie http://example.com/my.php?foo=bar&foo2=baz dann in my.php rufen $_GET['foo'] => 'bar' und $_GET['foo2'] => 'baz'

1

Sie können versuchen, $ _GET

$_GET['test'] = 'abc'; 

Aktualisierung Und dann umleiten Benutzer dort:

header('Location: ?' . http_build_query($_GET)); 

Sie müssen nur sicherstellen, um nur bei Bedarf umleiten, s o dass Sie die Benutzer nicht in die unendliche Umleitung bringen.

1

Das Array $_GET wird anfänglich von der Abfragezeichenfolge aufgefüllt. Sie können dies jedoch überschreiben, wenn Sie ohne Umleitung arbeiten möchten. Wenn Sie irgendwann in Ihrem Code $_GET['foo'] = 'bar'; setzen, wird das danach eingestellt, egal was die Abfragezeichenfolge ist.

+1

(Aber ich würde es nicht empfehlen.) – TRiG