用户
 找回密码
 入住 CI 中国社区
搜索
查看: 4782|回复: 7
收起左侧

求助 !!!  在CI中如何使用 GET 呢? 请各路高手指点!

[复制链接]
发表于 2008-4-28 11:56:00 | 显示全部楼层 |阅读模式
我在VIEW 中插入了一个表单,method="get" 但是我用$_GET 来取数据却取不到, 我应怎么做呢,谢谢各位高人指点一二......
<?php
class Blog extends Controller {
       function Blog()
      {
       parent::Controller();
  
   
          function index()
                {
                   $this->load->view('blog');
                    print  $_GET['mytest'];   

                 }
           }

view 文件:

form name="form1" method="GET" action="">
  <input type="text" name="mytest">
  <input type="submit" name="Submit" value="提交">
</form>

错误提示如下:


A PHP Error was encounteredSeverity: Notice
Message: Undefined index: mytest
Filename: controllers/blog.php
Line Number: 16
发表于 2008-4-28 12:11:14 | 显示全部楼层
你这个不能通过 GET 取到吧?用$_REQUEST 试试。
发表于 2008-4-28 12:13:25 | 显示全部楼层
默认情况下CI不是禁止GET的吗?
GET参数可以直接通过method的参数传进来啊。
 楼主| 发表于 2008-4-28 14:39:40 | 显示全部楼层
用$_REQUEST  是可以取出来的,但是在执行分页操作的时候 $_REQUERT 就取不到了或者是空的了, 原来我用原生的PHP做的带查询的分页的时候就是用$_GET 可以解决的,因为执行分页的时候$_GET还可以保留原来的查询参数值, 即 如
SELECT * FROM   MYTABLE  WHERE NAME  LIKE  '%$_GET['mytest'']%'  不管你翻到第几页 $_GET['mytest'] 还是存在的,这样就不至于刚点查询的时候可以得到正确的结果,而点分页的时候得出的结果又是全部的了,而不是所查询结果的第几页了,所以我想在CI中也能用上 $_GET  ,还请各位高手指点如何在CI中可以用上$_GET
发表于 2008-4-28 14:52:38 | 显示全部楼层
CI 和普通的 PHP 程序还是有区别的,所以 GET 就不要用了。
CI 分页也不用 GET。
请使用 URL 分段进行参数传递,或者使用 POST。
发表于 2008-4-28 18:19:30 | 显示全部楼层
呵呵,我就是分了7-8段,结果要用JS来构造最后的URL地址。。这地方看来还可以自己想想怎么改进。。
发表于 2008-4-28 18:22:08 | 显示全部楼层
晕,这么多参数~~~那就得换个方式了,可以考虑考虑程序结构是否合理了,一般很少有应用需要通过URL传这么多参数。一般传很多参数都是POST。
 楼主| 发表于 2008-4-30 09:05:24 | 显示全部楼层
问题基本解决,  我现在用session来记录下POST过来的参数,这样在点击翻页的时候就不会出错了,代码如下
  $this->CI->load->library('session');
  if (isset($_POST['mytest']))   
  {   
   
  $t=$_POST['mytest'];
        
      }else
   {
   $t=  $this->CI->session->userdata('sname') ;  

   }  

$sdata = array(
               'sname'  => $t ,
                         );
  $this->CI->session->set_userdata($sdata)

$this->CI->db->like('机构',  $this->CI->session->userdata('sname'));
$query = $this->CI->db->get($this->current_table, $per_page, $offset);
//上面代码大家参考一下,用SESSION记录下传过来的查询参数后,点分页后不会显示全部,也是查询的结果了,如果那位高人有更好的方法也请分享一下,大家共同一起学习进步!
效果图.JPG

本版积分规则