Codeigniter表单,提交时重定向页面

时间:2011-10-31 14:02:40

标签: php forms codeigniter search

我创建了一个我希望在提交时转发的搜索表单。

它的工作方式是用户输入他们想要搜索的字词/关键字,然后表单会将其转发到 / search / $ keyword

我的研究让我得出的结论是,需要将表单发布到控制器,然后从那里进行转发。但我已经尝试了很多次,无法让它前进。

以下是表格:

<?php echo form_open('search'); ?>
            <input id="search_text" name="searchquery" type="text" value="enter your search here..." onfocus="if(this.value == 'enter your search here...') this.value='';" onblur="if(this.value == '') this.value='enter your search here...';" maxlength="120" >
       <?php echo form_close();?>

控制器:

if($this->input->post('searchquery')){
 redirect('search', $this->input->post('searchquery'));
}

2 个答案:

答案 0 :(得分:2)

更改此行:

redirect('search', $this->input->post('searchquery'));

为:

redirect('search/' . $this->input->post('searchquery'));

在重定向调用中,第二个参数是重定向的“方法”,这就是重定向无效的原因。你想要的是这样的:

redirect('search/my+search+term');

这就是我们进行字符串连接的原因,而不是将搜索词传递给第二个参数。

答案 1 :(得分:1)

试试这个。

if($this->input->post('searchquery')){
 redirect('search/'.$this->input->post('searchquery'));
}

您错误地使用了重定向方法。这是文档的摘录。

  

可选的第二个参数允许您在之间进行选择   “location”方法(默认)或“refresh”方法。位置是   更快,但在Windows服务器上它有时可能是一个问题