it-swarm.com.de

Wie man die Variable $ _GET setzt

Wie stelle ich die Variable ein, die die $_GET-Funktion verwenden kann, ohne ein Formular mit action = GET zu übermitteln?

15
dave

Sie können einen Link erstellen, indem Sie in href eine Variable erhalten.

<a href="www.site.com/hello?getVar=value" >...</a>
12
Gaurav

$_GET enthält die Schlüssel/Werte, die in der URL an Ihr Skript übergeben werden.

Wenn Sie die folgende URL haben:

http://www.example.com/test.php?a=10&b=plop

Dann wird $_GET enthalten:

array
  'a' => string '10' (length=2)
  'b' => string 'plop' (length=4)


Da $_GET nicht schreibgeschützt ist, können Sie natürlich auch einige Werte aus Ihrem PHP - Code festlegen, falls erforderlich:

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

Dies scheint jedoch keine gute Praxis zu sein, da $_GET Daten aus der vom Client angeforderten URL enthalten soll.

36
Pascal MARTIN

Sie können GET-Variablen im Parameter action Ihres form-Elements verwenden. Beispiel:

<form method="post" action="script.php?foo=bar">
    <input name="quu" ... />
    ...
</form>

Dadurch erhalten Sie foo als GET-Variable und quu als POST -Variable.

3
Sander Marechal

Wenn Sie beim Einfügen einer Datei ein $ _GET (oder einen $ _POST) fälschen möchten, können Sie es wie eine andere var verwenden, wie zB:

$_GET['key'] = 'any get value you want';
include('your_other_file.php');
1
oriadam

Eine Möglichkeit, die $_GET-Variable festzulegen, besteht darin, die URL mit parse_url() .__ zu analysieren und dann die $query-Zeichenfolge mit parse_str() zu parsen, wodurch die Variablen in $_GET global gesetzt werden.

Dieser Ansatz ist nützlich, 

  • wenn Sie die Verarbeitung von GET-Parametern testen möchten, ohne tatsächliche Abfragen auszuführen, z. zum Testen der eingehenden Parameter auf Vorhandensein und Eingabe, Filterung und Desinfektion eingehender Variablen.
  • und wenn Sie das Array nicht jedes Mal manuell erstellen möchten, sondern die normale URL verwenden

function setGetRequest($url)
{
    $query = parse_url($url, PHP_URL_QUERY);
    parse_str($query, $_GET);
}

$url = 'http://www.example.com/test.php?a=10&b=plop';

setGetRequest($url);   

var_dump($_GET);

Ergebnis: $_GET enthält

array (
  'a' => string '10' (length=2)
  'b' => string 'plop' (length=4)
)
1
Jens A. Koch

Mit dem folgenden Code können Sie Ihren Client zu einem Skript umleiten, an das die _GET-Variablen angehängt sind.

header("Location: examplepage.php?var1=value&var2=value");
die();

Dadurch wird das Skript umgeleitet, stellen Sie sicher, dass die(); dort enthalten ist, oder sie werden möglicherweise nicht weitergeleitet.

0
Joseph Orlando

Die Variable $_GET wird mit den in der URL festgelegten Parametern gefüllt. Über die URL http://example.com/test.php?foo=bar&baz=buzz erhalten Sie $_GET['foo'] und $_GET['baz']. Um diese Variablen festzulegen, müssen Sie lediglich einen Link zu dieser URL erstellen.

0
Theo

Verwenden Sie für das Formular:

<form name="form1" action="<?=$_SERVER['PHP_SELF'];?>" method="get">

um den Wert zu erhalten, verwenden Sie die get-Methode wie folgt:

$value = $_GET['name_to_send_using_get'];
0
sreekanth