Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 变量操作名zend_Php_Zend Framework - Fatal编程技术网

Php 变量操作名zend

Php 变量操作名zend,php,zend-framework,Php,Zend Framework,我正在尝试创建一个密码重置链接,我想知道是否可以使用令牌的名称进行操作。因此,我将访问以下链接:site.com/auth/resetpassword/token 我在网上找不到任何文件 我正在生成我的令牌,如下所示: $lengthSalt = 24; $token = substr(str_shuffle("0123456789abcdefghijklmnopqrstuvwxyz"), 0, $lengthSalt); 你需要定义正确的路线 Zend 1.10的示例: 这取决于您定义路线的

我正在尝试创建一个密码重置链接,我想知道是否可以使用令牌的名称进行操作。因此,我将访问以下链接:site.com/auth/resetpassword/token

我在网上找不到任何文件

我正在生成我的令牌,如下所示:

$lengthSalt = 24;
$token = substr(str_shuffle("0123456789abcdefghijklmnopqrstuvwxyz"), 0, $lengthSalt);

你需要定义正确的路线

Zend 1.10的示例:

这取决于您定义路线的方式,有多种方法

编辑:如果要使用默认路由,则需要使用以下模式:www.yoursite.com/controller/action/var1/value1/var2/value2

因此,对于您来说,它应该是site.com/auth/resetpassword/token/[token],在这里您将您的令牌值放在[token]的位置

然后,您可以在控制器中访问变量:

$token = $this->getRequest()->getParam('token');

为什么要使用变量操作名称?你的令牌是一个参数,不是一个动作。我猜这是个错误。从URL中,我猜“resetpassword”是一个操作名。@MaciejJaśniaczyk resetpassword是一个操作名,是的。我就是这样做的,它不起作用:$password=new Zend_Controller_Router_Route('/auth/resetpassword/reset/:token',array('Controller'=>'Forgotpassword',action'=>'reset');访问auth/forgotpassword/reset/token/asdadasada不会显示任何内容(我在token上放置了一个var_转储)。“auth”是模块,不是控制器。那么,你能解释一下到底是什么不起作用吗?你在哪个url上测试这个(包括参数)?操作启动是否正常?站点/auth/forgotpassword/reset/正在工作。site/auth/forgotpassword/reset/token/[token]它不工作。是的,动作正常。那么什么不起作用?你使用标准路线吗?在这种情况下,auth是您的控制器,forgot password是action,reset是什么?在我之前参与过这个项目的人,创建了如下路由:$all=new Zend\u controller\u Router\u Route('/auth/:controller/:action',array('controller'=>'index',action'=>'index');在此之后,我添加了如上所示的路线。
$token = $this->getRequest()->getParam('token');