helloWorldTest

helloWorldTest

这家伙有点懒,还没写个性签名!

  • 财富值95
  • 威望值0
  • 总积分135

个人信息

  • 捕获.PNG

    如图,表单用的get方法,这种方法是没问题的。分页类会自动把get过来的参数,带到下一页
    但是如果表单用post,怎把post过来的参数,加到下一页的链接上

  • 回复了 的回答

    你生成的get链接上不带参数?

    其实传不过去也是必然的,因为分页类的下一页用的是a标签,如果表单是用get方法提交的,会把参数加到a标签的src里面,但是如果表单是用post提交的,a标签里面是没有post过来的参数的。

  • 回复了 的回答

    你生成的get链接上不带参数?

    form如果是用get方法提交的是没问题的,url是带参数的。但是如果用post方法提交,翻页后get只剩下分页类的参数,在action里面用$_GET['NAME']='test'这样,也不能传到下一页

  • 提出了问题
    翻页 后查询条件丢失的问题!
  • 2017-07-26 已签到
    连续签到1天,获得了5个金钱
  • 回复了 的回复

    遇到相同问题, 找到解决方法如下:

    original article link

    不管怎样,你需要一种能持久化数据的方式。你可以有以下几种选择:

    1. GET参数
    2. SESSION
    3. COOKIE
    4. hidden field

    我的建议是尽量用GET参数,尤其是这种搜索查询页面。

    在action中得到post数据后写入$_GET就行了
    像这样

    $form=new SearchForm;
    if(isset($_POST['SearchForm']))
    {
        $form->attributes=$_POST['SearchForm'];
        $_GET['keyword'] = $form->keyword;
        $_GET['cat_id'] = $form->cat_id;
    } elseif(isset($_GET['keyword'])) {
        if(isset($_GET['keyword'])) $form->keyword=$_GET['keyword'];
        if(isset($_GET['cat_id'])) $form->cat_id=$_GET['cat_id'];
    } else {
    既没post也没get数据的话,设定默认查询条件
    }
    if($form->validate())
    {
    ....处理查询
    }
    
    

    我自己的代码, 范围搜索

    if (!empty(Yii::$app->request->post())){
    $result_from = Yii::$app->request->post('DemoCollectionSearch')['result_from'];
    $result_to = Yii::$app->request->post('DemoCollectionSearch')['result_to'];
    }else{
    $result_from = Yii::$app->request->get('result_from');
    $result_to = Yii::$app->request->get('result_to');
    }
    
    $searchModel = new DemoCollectionSearch();
    
    $searchModel->result_from = $result_from;
    $searchModel->result_to = $result_to;
    
    
    
    
    $_GET += array(
    'result_from' => $dresult_from,
    'result_to' => $result_to,
    ); // define
    
    
    
    

    你好!为什么我在action中把post过来的参数,写进get里,翻页 后get还是空的呢?

助理 等级规则
135/200
资料完整度
10/100
用户活跃度
0/100

Ta的关注

0

Ta的粉丝

0

Ta的访客

4