
Feras Odeh
Ich versuche, eine URL als URL-Parameter in PHP zu übergeben, aber wenn ich versuche, diesen Parameter abzurufen, bekomme ich nichts
Ich verwende das folgende URL-Formular:
http://localhost/dispatch.php?link=www.google.com
Ich versuche es durchzubekommen:
$_GET['link'];
Aber es kam nichts zurück. Was ist das Problem?

Alvaro González
$_GET
ist keine Funktion oder kein Sprachkonstrukt – es ist nur eine Variable (ein Array). Versuchen:
<?php
echo $_GET['link'];
Insbesondere ist es ein superglobal: eine eingebaute Variable, die von PHP gefüllt wird und in allen Bereichen verfügbar ist (Sie können sie innerhalb einer Funktion ohne die global Stichwort).
Da die Variable möglicherweise nicht vorhanden ist, können (und sollten) Sie sicherstellen, dass Ihr Code keine Benachrichtigungen auslöst mit:
<?php
if (isset($_GET['link'])) {
echo $_GET['link'];
} else {
// Fallback behaviour goes here
}
Alternativ können Sie, wenn Sie manuelle Indexprüfungen überspringen und möglicherweise weitere Validierungen hinzufügen möchten, die verwenden Filter Verlängerung:
<?php
echo filter_input(INPUT_GET, 'link', FILTER_SANITIZE_URL);
Zu guter Letzt können Sie die verwenden Null-Koaleszenzoperator (erhältlich seit PHP/7.0) um fehlende Parameter zu behandeln:
echo $_GET['link'] ?? 'Fallback value';

MarcoS
Bitte poste deinen Code,
<?php
echo $_GET['link'];
?>
oder
<?php
echo $_REQUEST['link'];
?>
tun Arbeit…

Muhammad Ashikuzzaman
Benutze das:
$parameter = $_SERVER['QUERY_STRING'];
echo $parameter;
Oder verwenden Sie einfach:
$parameter = $_GET['link'];
echo $parameter ;
Um sicherzustellen, dass Sie immer auf der sicheren Seite sind, ohne alle Arten von unerwünschten Code-Einfügungen zu erhalten, verwenden Sie FILTER:
echo filter_input(INPUT_GET,"link",FILTER_SANITIZE_STRING);
Lesen Sie weiter php.net-Funktion filter_inputoder check out die Beschreibung der verschiedenen Filter

Phil
Die akzeptierte Antwort ist gut. Aber wenn Sie ein Szenario wie dieses haben:
http://www.mydomain.me/index.php?state=California.php#Berkeley
Sie können den benannten Anker wie folgt als Abfragezeichenfolge behandeln:
http://www.mydomain.me/index.php?state=California.php&city=Berkeley
Greifen Sie dann wie folgt darauf zu:
$Url = $_GET['state']."#".$_GET['city'];

SherylHohman
$Query_String = explode("&", explode("?", $_SERVER['REQUEST_URI'])[1] );
var_dump($Query_String)
Reihe (
[ 0] => link=www.google.com )

cf steht bei Monica
Ich bekam nichts für alle $_GET["..."]
(z.B print_r($_GET)
gab ein leeres Array) noch $_SERVER['REQUEST_URI']
gezeigtes Zeug sollte da sein. Am Ende stellte sich heraus, dass ich nur auf die Webseite gelangte, weil mein .htaccess sie dorthin umleitete (mein 404-Handler war dieselbe .php-Datei, und ich hatte beim Testen einen Tippfehler im Browser gemacht).
Das einfache Ändern des Namens bedeutete, dass derselbe PHP-Code funktionierte, als die 404-Umleitung nicht einsetzte!
Damit Es gibt Wege $_GET
kann nichts zurückgeben, obwohl der PHP-Code korrekt sein kann.
9859400cookie-checkGET-URL-Parameter in PHPyes
Zeigen Sie Ihren vollständigen Code
– Pekka
4. Mai 2011 um 14:17 Uhr
tun
var_dump
des$_GET
param, es sollte da sein– Naftali
4. Mai 2011 um 14:18 Uhr
tut
$_REQUEST['link']
Arbeit? Denken Sie auch an den Indexschlüssellink
unterscheidet zwischen Groß- und Kleinschreibung, was in der URL steht.– Dutchie432
4. Mai 2011 um 14:18 Uhr
Du versuchst nicht wirklich a
$_GET
aber postest du zufällig, oder?– James
4. Mai 2011 um 14:22 Uhr
Und was war die Lösung dafür? Habe das gleiche Problem
– Benutzer
26. März 2012 um 9:58 Uhr