我正在为我的wordpress安装使用一个自定义的登录脚本。除了将激活密钥以以下格式发送给注册用户外,其他一切正常:
http://mydomain.com/?page_id=1278&mail=user@email.com&activate_key=7edbad但是,当用户单击上面的链接时,电子邮件中的“@”将消失,因此会给出激活密钥无效的错误。
有人能在这方面给我指点一下吗?
下面这段代码将激活链接放在一起:
$link=get_option('home').'/?page_id='.$pageid.'&mail='.$user_email.'&activate_key='.$key;发布于 2011-04-24 23:07:28
您可能需要对该URL中的参数进行编码,对每个参数值使用函数:
$link=get_option('home')
.'/?page_id='.urlencode($pageid)
.'&mail='.urlencode($user_email)
.'&activate_key='.urlencode($key);作为另一种选择,您也可以使用一次来构建整个查询字符串:
$params = array(
'page_id' => $pageid,
'mail' => $user_email,
'activate_key' => $key,
);
$query_string = http_build_query($params);
$link=get_option('home') . '/?' . $query_string;发布于 2011-04-24 23:06:51
在GET params上尝试使用urlencode()。
发布于 2011-04-24 23:07:36
在$user_email周围尝试使用urlencode()将其转换为对URL友好的值。
https://stackoverflow.com/questions/5771279
复制相似问题