关于CodeIgniter网址的问题

时间:2011-07-17 09:30:58

标签: forms url codeigniter

我正在使用使用CodeIgniter框架编写的应用程序(博客),并希望通过在我的博客网址末尾添加一个字符串,从我的浏览器位置栏搜索我的博客:

http://mysite.com/blog/index.php/search ...

正如您在上面的示例中所看到的,我不确定如何在搜索部分之后格式化其余网址,因此我希望此处有人能指出我正确的方向。

如果这样做有帮助,这就是搜索框的形式。

form class="searchform" action="http://mysite.com/blog/index.php/search" method="post">
  <input id="searchtext" class="search_input" type="text" value="" name="searchtext">
  <input type="submit" value="Search" name="Search">
</form>

THX, 标记

2 个答案:

答案 0 :(得分:0)

由于您的表单发布到http://mysite.com/blog/index.php/search,我假设此“搜索”控制器的默认功能是您尝试提交数据的功能。我认为最简单的方法是只抓取你发布到的控制器方法中的帖子数据。例如:

function search()
{    
     $search_params = $this->input->post('search_text');
}

然后,您将拥有存储为$ search_params的用户输入,您可以从那里执行操作。我误解了你的问题吗?

答案 1 :(得分:0)

看起来你有点讨论两种不同的方法。如果你想提出请求 mysite.com/blog/index.php/search&q=what_I_am_looking_for

这将调用搜索控制器的默认方法(默认为索引)。如果您想使用URL传递类似的参数,您将转到搜索控制器中的函数并执行:         的print_r($这 - &GT;输入 - &GT;获得( 'Q'));

这将打印出“what_am_I_looking_for”。

我认为更简单的方法是: 1.使用您在上面粘贴的HTML内容创建一个名为“search_view”的视图,其格式为“action”http://www.mysite.com/blog/index.php/test/search

  1. 创建一个名为“Test”的控制器,如下所示:

    class Test extends CI_Controller {
    
    function search()
    {
        $search = $this->input->post('searchtext');
        print_r($search);
    }
    
    public function display_search()
    {
        $this->load->view('search_view');
    }
    }
    
  2. 在浏览器中访问http://www.mysite.com/blog/index.php/test/display_search。这应该会显示您在search_view.php中放置的表单。提交表单后,您应该被发送到搜索功能并打印出变量$ search,它将包含您在该表单上提交的任何文本。

  3. 如果这不是你想要的,那么恐怕我不明白你的问题。