La suppression du caractère "+" est-elle la bonne chose à faire lors de l'écho de variables $_GET en PHP ?
P粉481815897
P粉481815897 2023-09-09 19:18:32
0
1
452

J'ai une chaîne d'URL similaire à https://example.com/path/?welcome_screen=1&email_address=something+else@example.com

En PHP, j'appelle <?php echo $_GET['email_address']; ?>

Cela produira something else@example.com

Plus précisément, le + dans l'adresse email a été remplacé par un espace.

  1. Est-ce prévu ?
  2. Si oui, existe-t-il un moyen d'empêcher que cela se produise dans le echocode ci-dessus ?
  3. Ou doit-il être traité lorsque l'adresse e-mail est collectée ?

P粉481815897
P粉481815897

répondre à tous(1)
P粉032900484
  1. Oui, + 是在URL中表示空格的一种方式。PHP在创建$_GETdata décode automatiquement la valeur par URL et la convertit en espaces, car elle suppose que c'est ce que la valeur dans l'URL d'origine est censée représenter.

  2. Non, il était alors trop tard.

  3. Oui, vous devez encoder l'URL avant d'inclure la valeur dans l'URL de la fonction +不被视为特殊字符。如果是PHP生成URL,您可以使用urlencode(). La plupart des autres langages de programmation ont des fonctions intégrées équivalentes.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!