如何将电子邮件值传递给url

use*_*168 1 php email

嗨,我在这里再次提出同样的问题

 <?php 
  $email="xyz@gmail.com"; 
  $decode=urldecode($email); 
  ?>


<FORM METHOD="get" ACTION="action1.php">
Type your first name: <INPUT TYPE="text" NAME="FirstName"> <br/>
Type your last name: <INPUT TYPE="text" NAME="LastName"> <br/>
Type your email:<INPUT type="hidden" NAME="email" value="<?php $decode; ?>">
<INPUT TYPE="submit" VALUE="Click and See">
</FORM>
Run Code Online (Sandbox Code Playgroud)

我得到了网址重定向:http://example.com/action1.php? FirstName = jon&LastName = Kuri&email = yyz%40abc.com

但我需要它是http://example.com/action1.php?FirstName=jon&LastName=Kuri&email=xyz@abc.com

因为这里使用电子邮件用于用户名.所以说错了.

感谢您的帮助.

Bra*_*rad 7

这没有错......你错了.URL中的保留字符必须编码为有效,或者它们不明确,并且可能在URL中用于其保留的目的. @是保留字符,必须编码为%40.

PHP为您解码.这对你来说是透明的,你甚至不用担心它.

以下是您的参考:http: //www.blooberry.com/indexdot/html/topics/urlencoding.htm#whatwhy

  • @user3097168 怎么了?任何正确解析查询字符串(PHP 所做的)都需要正确编码的查询字符串。 (2认同)