En utilisant & amp; amp; dans les bogues d'URL jusqu'à $ _GET
L'exécution de mon site par le biais de http://validator.w3.org/checkje reçois beaucoup de messages d'erreur en disant que mes liens doivent utiliser &
en place de &
.
J'ai donc mis à jour mon code, seulement pour découvrir que $_GET
n'aime pas cela.
Mon URL: www.mysite.com/?foo=1&bar=2
et je l'ai changé pour cette: www.mysite.com/?foo=1&bar=2
Le problème, c'est que faire un print_r($_REQUEST)
me donne ce résultat:
Array ( [foo] => 1 [amp;storeid] => 2 )
Pourquoi ne pas $_GET
$_POST
et $_REQUEST
reconnaître la &
?
Mise à JOUR
C'est l'une des façons que je générer une URL:
$url = get_bloginfo('url')."/?foo=".$element['name']."&bar=".$element['id'];
$link = '<a href="'.$url.'" title="'.$element['name'].'">'.$element['name'].'</a>';
source d'informationauteur Steven
Vous devez vous connecter pour publier un commentaire.
&
est la version HTML de l'entité de référence pour&
. Les paramètres d'URL sont toujours séparés par un seul&
mais si vous parlez de l'URL en HTML, vous devez encoder. Pourle navigateur demande ensuite
img?width=100&height=100
.Vous devez être double-codage quelque part, tels que votre lien:
devient:
et puis:
Ce que vous lisez est correct. Pour clarifier, dans votre code HTML
&
doit être codé en&
. Bien sûr, l'URL elle-même encore qu'contient&
; PHP ne voit jamais "&
" parce que l'encodage est pour le bénéfice de votre navigateur.Il ne fonctionnera pas avec filter_input 🙁
En tout cas c'est pas une bonne pratique pour encoder les diverses URL pièces par les mains. Vous devez faire comme ceci:
Je pense que cela va résoudre les problèmes inutiles.