当用户注册到我的网站并且激活链接被发送到他们的电子邮件时...它显示找不到页面错误
orignal激活链接
http://tc14.wceeesa.org/activate.php?email='akshaypp%40mail.com'&key='d6433fa355d81e942b3ba0b845de089e'
它的节目如
tc14.wceeesa.org/activate.php?email= **%27** akshaypp%40mail.com **%27** &key= **%27** d6433fa355d81e942b3ba0b845de089e **%27**
告诉我如何修复此代码....并删除%27%以获取链接
我的PHP代码
$message = "To Activate your account, please click on this link: \n \n";
$message .= "http://tc14.wceeesa.org/activate.php?email='".urlencode($email)."'&key='".$activation."'";
mail($email,'Activation of your EESA Account',$message);
答案 0 :(得分:4)
永远不要在网址中加引号,你可以使用分隔线破折号或下划线,如果不需要分隔符,则不要使用。
而不是
http://tc14.wceeesa.org/activate.php?email='blah@blah.com'
使用
http://tc14.wceeesa.org/activate.php?email=blah@blah.com // quotes removed !
或在您的PHP中
$message .= "http://tc14.wceeesa.org/activate.php?email=".urlencode($email)."&key=".$activation; //without '
答案 1 :(得分:0)
从参数中删除引号。您不需要将参数括在引号中,因为参数名称本身标识了值($_GET['key']
将显示参数键的值)。
$message .= "http://tc14.wceeesa.org/activate.php?email=".urlencode($email)."&key=".$activation;
答案 2 :(得分:0)
问题是您使用''
封闭了参数。使用GET
方法时不需要这样做。
固定代码如下:
$message = "To Activate your account, please click on this link: \n \n";
$message .= "http://tc14.wceeesa.org/activate.php?email=".urlencode($email)."&key=".$activation."";
mail($email,'Activation of your EESA Account',$message);
对神秘的 %27
代码进行更多解释。当您将字符串$message
翻译成网址时,special symbols会converted进入网址友好表达式。表达式%27
代表'
。