J'essaye de passer une URL en tant que paramètre d'url en php mais quand j'essaye d'obtenir ce paramètre je n'obtiens rien
J'utilise le formulaire d'URL suivant:
http://localhost/dispatch.php?link=www.google.com
J'essaye de le faire passer:
$_GET['link'];
Mais rien n'est revenu. Quel est le problème?
var_dump
du$_GET
param, il devrait être là$_REQUEST['link']
marche? Gardez également à l'esprit que la clé d'indexlink
est sensible à la casse de ce qui se trouve dans l'URL.$_GET
de publier un message, n'est-ce pas?Réponses:
$_GET
n'est pas une fonction ou une construction de langage - c'est juste une variable (un tableau). Essayer:En particulier, c'est une superglobale : une variable intégrée qui est remplie par PHP et est disponible dans toutes les étendues (vous pouvez l'utiliser depuis l'intérieur d'une fonction sans le mot clé global ).
Étant donné que la variable peut ne pas exister, vous pouvez (et devriez) vous assurer que votre code ne déclenche pas d'avis avec:
Sinon, si vous souhaitez ignorer les vérifications d'index manuelles et peut-être ajouter d'autres validations, vous pouvez utiliser l' extension de filtre :
Enfin, vous pouvez utiliser l' opérateur de fusion nul (disponible depuis PHP / 7.0 ) pour gérer les paramètres manquants:
la source
localhost
et cette solution ne fonctionne pas.http://localhost/station?type=2
echo $_GET['type'];
isnull
parse_str(parse_url($actual_link)['query'], $params);
. En savoir plus stackoverflow.com/a/11480852/4458531Veuillez poster votre code,
ou
faire le travail ...
la source
Pour vous assurer que vous êtes toujours du bon côté, sans obtenir toutes sortes d'insertion de code indésirable, utilisez FILTERS:
Plus de lecture sur la fonction php.net filter_input , ou consultez la description des différents filtres
la source
Utilisez ceci:
Ou utilisez simplement:
la source
La réponse acceptée est bonne. Mais si vous avez un scénario comme celui-ci:
Vous pouvez traiter l'ancre nommée comme une chaîne de requête comme ceci:
Ensuite, accédez-y comme ceci:
la source
Je n'obtenais rien pour tout
$_GET["..."]
(par exemple, j'aiprint_r($_GET)
donné un tableau vide) mais$_SERVER['REQUEST_URI']
j'ai montré que des choses devraient être là. En fin de compte, il s'est avéré que j'arrivais à la page Web uniquement parce que mon .htaccess la redirigeait là-bas (mon gestionnaire 404 était le même fichier .php, et j'avais fait une faute de frappe dans le navigateur lors du test).Changer simplement le nom signifiait que le même code php fonctionnait une fois que la redirection 404 ne fonctionnait pas!
Il existe donc des moyens de
$_GET
ne rien renvoyer même si le code php est correct.la source
la source
Quiconque ne récupère rien, je pense qu'il doit juste insérer le résultat dans des balises html,
Comme ça:
la source
Comme Alvaro l'a dit, $ _GET n'est pas une fonction mais un tableau contenant les paramètres.Vous pouvez donc récupérer un élément de ce tableau en utilisant
OP attendu:
la source