GET-URL-Parameter in PHP

Lesezeit: 4 Minuten

GET URL Parameter in PHP
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?

  • 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üssel link 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

GET URL Parameter in PHP
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';

  • Wenn Sie wie ich damit nichts anfangen können, dann sollten Sie wissen, dass ‘link’ ein Name einer Variablen in der URL-Adresse ist! Also mit $_GET[‘link’]; Sie müssen die URL wie folgt eingeben: localhost/?link=test

    – Feuern

    20. April 2014 um 12:58 Uhr

  • Ich benutze WAMP auf localhost und diese Lösung funktioniert nicht. http://localhost/station?type=2 echo $_GET['type']; ist null

    – Neun Catto-Regeln

    29. Mai 2019 um 21:58 Uhr


  • Schließlich habe ich verwendet parse_str(parse_url($actual_link)['query'], $params);. Weitere Informationen unter stackoverflow.com/a/11480852/4458531

    – Neun Catto-Regeln

    30. Mai 2019 um 8:29 Uhr

  • Sie sagen “$_GET ist keine Funktion oder kein Sprachkonstrukt – es ist nur eine Variable (ein Array)”, aber wir greifen nicht über den Index auf Werte zu, sondern Sie greifen über eine Zeichenfolge auf Werte zu. Ist das eher ein Wörterbuch als ein Array?

    – ScottyBlades

    26. Oktober 2019 um 22:53 Uhr

  • @ScottyBlades Ich spreche im Kontext von PHP-Datenstrukturen. In PHP, ein Reihe ist eine geordnete Liste von Schlüssel/Wert-Kombinationen. Das unterscheidet sich von dem, was andere Sprachen (zB C oder JavaScript) “Array” nennen.

    – Alvaro González

    27. Oktober 2019 um 12:02 Uhr

1646883246 733 GET URL Parameter in PHP
MarcoS

Bitte poste deinen Code,

<?php
    echo $_GET['link'];
?>

oder

<?php
    echo $_REQUEST['link'];
?>

tun Arbeit…

1646883247 719 GET URL Parameter in PHP
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

1646883247 953 GET URL Parameter in PHP
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'];

1646883248 771 GET URL Parameter in PHP
SherylHohman

$Query_String  = explode("&", explode("?", $_SERVER['REQUEST_URI'])[1] );
var_dump($Query_String)

Reihe (
[ 0] => link=www.google.com )

1646883248 978 GET URL Parameter in PHP
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.

985940cookie-checkGET-URL-Parameter in PHP

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy