如何使用codeigniter中的get方法从数据发送

时间:2018-06-12 10:44:25

标签: php codeigniter

搜索视图 - > admincp是控制器,搜索是方法。

 <?php
 echo form_open('admincp/search');
 $data = array('name' => 'search', );
 echo form_input($data);
 $data4 = array( 'name' => 'submit',);
  echo form_submit($data4);
  echo  form_close(); ?>

假设我搜索abc然后我希望它将我发送到此网址admincp/search/abc

3 个答案:

答案 0 :(得分:0)

好吧,你可以添加jquery事件。

  • 表格提交
  • 获取文字字段值
  • 设置新网址并附加搜索到的值
  • url/search/abc
  • 之类的东西
  • 并重定向到此新网址

答案 1 :(得分:0)

总体思路是:

  1. 通过Source Folder活动know more
  2. 抓取表单提交
  3. 现在取出用户在事件功能中提交的值
  4. 使用Codeigniter onsubmit功能创建一个附加了搜索查询的GET网址See about base_url()
  5. 现在使用base_urlsee more
  6. 将用户窗口重定向到该特定网址

    下面给出了示例代码,您可能需要稍微调整一下:

    Window.location

答案 2 :(得分:0)

首先,默认方法是提交表单POST是有充分理由的。但我假设您希望用户能够为这些搜索添加书签,这就是您要使用GET的原因。

所需要的只是设置&#34;方法&#34;形式。 (注意:我使用快速方式定义数组。['method'=>'get']array('method'=>'get')相同,但输入次数较少。)

 echo form_open('admincp/search', ['method'=>'get']);

提交表单时将调用Admincp::search(),但它将使用查询字符串而不是好的CodeIgniter URL格式。换句话说,它不是admincp/search/abc,而是controller/method?search=abc。但那会很好的书签。

如果您必须拥有admincp/search/abc网址,则必须使用JavaScript,因为其他答案已显示。

表单HTML的其余部分也可能更清晰一些。你做的工作超出了你的需要。

 echo form_input('search');  // name of the input

 // No field name is provided to `form_submit()` so 
 // it won't be part of the query string.
 echo form_submit('', 'Submit'); 
 echo form_close();

请注意,关闭的php标记(?>)已被删除。 不要在.php文件的末尾使用PHP关闭标记!!!

要处理来自提交的数据, 在Admincp控制器中定义以下函数。

public function search()
{
    //get value from "search" field of form
    $search = $this->input->get('search'); 
    // code that uses search criteria
    // and then displays search results
}

使用input库捕获查询字符串值。具体来说,使用get()方法。阅读有关输入类HERE的内容。