[英]How do I pass a URL as a parameter of an URL in Zend Framework?
我的问题源于我向用户发送 email ,内容如下:
如您所见,我要做的是传递 url 作为参数“dest”,以便登录页面知道用户登录后重定向到哪里。但是,我看到以下内容:
这是我用来创建 email 的视图:
<p>
<?if($this->invitation->user):?>
<a href='<?=$this->serverUrl($this->baseUrl().$this->url(array(
'action'=>'index',
'controller'=>'login',
'dest'=>$this->url(array(
'action'=>'confirm',
'controller'=>'invitation',
'confirmation_key'=>$this->invitation->confirmation_key
))
)));?>'>Log in to confirm this invitation.</a>
//The view continues...
任何关于如何防止将 URI 编码项转换为其文字值的想法将不胜感激。
你不能把它作为一个简单的 GET 参数发送过来吗?
这就是它实际上是如何完成的。
$_SERVER['referer']
您还可以像这样升级您的链接:
<a href='<?=$this->serverUrl($this->baseUrl().$this->url(array(
'action'=>'index',
'controller'=>'login',
'dest'=>base64_encode($this->url(array(
'action'=>'confirm',
'controller'=>'invitation',
'confirmation_key'=>$this->invitation->confirmation_key
))))
));?>'>Log in to confirm this invitation.</a>
但是在/login/index
上,您将需要使用base64_decode()
来获取原始的不是最漂亮的解决方案,但是如果您无法使用简单的查询字符串,这是一种方法,如何通过URL 安全。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.