Wie stelle ich die Variable ein, die die $_GET
-Funktion verwenden kann, ohne ein Formular mit action = GET
zu übermitteln?
Sie können einen Link erstellen, indem Sie in href eine Variable erhalten.
<a href="www.site.com/hello?getVar=value" >...</a>
$_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.
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.
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');
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,
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)
)
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.
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.
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'];