不确定是否可以这样做,但似乎我的主要问题是因为我有一个名为"index"的方法的默认路由.我希望能够列出标记有特定关键字的所有用户.此外,用户可以根据这些关键字搜索其他用户.
即www.domain.com/tags/apples www.domain.com/tags/oranges www.domain.com/tags/blueberry
如果我手动转到URL,它工作正常.我在使用表单字段时遇到问题.
form_open的片段:
<?=form_open('tags/');?>
<p>Search for Tag: <input type="text" name="tag" /></p>    
<p><input type="submit" value="Search" /></p> 
这是我的控制器片段:
function index() {
    $data['result'] = $this->tags_model->searchByTag($this->uri->segment(2));
    $this->load->view('tags_view', $data);
} 
这是我的路由器片段:
$route['tags'] = "tags/index";
$route['tags/(:any)'] = "tags/index/$1"; 
现在,如果我有一个名为search的方法,我可以很容易地修复所有这些,但我不希望URL显示为www.domain.com/tags/search/orange.
当您创建表单时,将其设置为使用POST变量而不是GET,这样它们不会通过url,这是codeigniter的表单的默认方法.
所以你的form_open代码将生成以下代码:
 <form method="post" action="tags/" />
如果你希望他们通过url,请以这种方式调用表单开头:
form_open('tags/', array('method' => 'get'));
这同样适用于您要为表单指定的任何其他属性,只需遵循attribute_name => attribute_value数组中的相同模式即可.
有关用户指南的更多信息
| 归档时间: | 
 | 
| 查看次数: | 8969 次 | 
| 最近记录: |