CakePHP会话ID路径或其他方法共享url结果-欢迎推荐
我正在寻找一个明智的蛋糕方法的建议,创建一个基于会话id的url,我可以与其他人共享,以查看相同的搜索结果,我在我的一端看到 我知道在标准php中,我只需要获取会话id并将其传递到url。但我猜蛋糕可能有一种方法或途径来实现这一点(我猜)。我还没有找到任何具体的东西CakePHP会话ID路径或其他方法共享url结果-欢迎推荐,php,session,url,cakephp,Php,Session,Url,Cakephp,我正在寻找一个明智的蛋糕方法的建议,创建一个基于会话id的url,我可以与其他人共享,以查看相同的搜索结果,我在我的一端看到 我知道在标准php中,我只需要获取会话id并将其传递到url。但我猜蛋糕可能有一种方法或途径来实现这一点(我猜)。我还没有找到任何具体的东西 有没有关于蛋糕法的最佳方法的想法?或者我需要重新发明这个轮子吗?你问这个问题是因为你在使用POST,结果URL不包括搜索参数,因为它会通过获取 我使用以下设计范例来搜索我构建的所有应用程序 搜索表单作为帖子提交 在控制器操作中,如果
有没有关于蛋糕法的最佳方法的想法?或者我需要重新发明这个轮子吗?你问这个问题是因为你在使用POST,结果URL不包括搜索参数,因为它会通过获取 我使用以下设计范例来搜索我构建的所有应用程序
function search() {
if($this->RequestHandler->isPost()) {
// let's say we extract parameters called $a and $b here
$this->redirect(array(
'action' => 'search',
'a' => $a,
'b' => $b
)
exit();
)
// perform the normal search operation
// the 'a' and 'b' parameters can be accessed in the $this->params['named']
// array, automatically extracted by the CakePHP router using the configuration below.
}
关于命名参数,我会在我的routes.php中设置:
Router::connectNamed(array('a', 'b'));
这将导致上面的重定向创建一个漂亮、干净的URL,如:
http://example.com/controller/search/a:FOO/b:BAR
我解决了这个问题:
search ( ... ) {
if ($this->RequestHandler->isPost()) {
$this->Session->write('search_form_sess', $this->data);
$initial_url = $ApplicantAge . '/' . $SpouseAge . '/' . $NumberChildren . '/' . $Vision . '/' . $Zip;
$this->redirect(array('action' => 'search', $initial_url));
exit();
}
...
}这称为Post:Redirect:Get模式。要获得一个好的组件来处理这个问题,请查看过滤器的CakeDC插件。有一个名为Utils(我相信)的基本包,它有一个可以使用的PRG组件。谢谢你的建议。目前,我的初始搜索url如下:…计划/搜索/年龄:50/配偶:0/子女:0/愿景:0/zip:92258,但我无法去掉这些值上的前缀。。路由器::连接('/plan/:applicationtage:purposage:NumberChildren:Vision:Zip',数组('controller'=>'plan','action'=>'search'),数组('pass'=>数组('applicationtage','purposage','NumberChildren','Vision','Zip');我不知道你说的前缀是什么意思。你指的是年龄、配偶等吗?您希望url为/search/50/0/9/0/92258?只是好奇,为什么您希望url中包含会话值?泰勒的方法是最常用的方法。我正在存储会话值以保留搜索表单字段数据,因此用户无需不断重新输入不同的搜索条件,只需在优化搜索时更改需要更改的内容即可。