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

[版本 3.x] $this->input->post()获取不到值,redirect时需要刷新才行

[复制链接]
发表于 2016-5-29 16:50:59 | 显示全部楼层 |阅读模式
views/login.php是这样的
HTML复制代码
<body>    <div data-role="page" class="jqm-demos" data-quicklinks="true">
        <div data-role="header" data-position="fixed" data-tap-toggle="false">
            <h1>登录页</h1>
        </div>
        <div>
            <?php echo form_open('login/tologin') ?>
            <!-- <form action="<?php echo site_url('/login/tologin');?>" method="post"> -->
                <label for="personNum">输入您的序列号: </label>
                <input type="text" data-clear-btn="true" name="persontxt" id="personNum" value="ttt">
                <input type="text" name="user_name" value="测试一下">
                <input type="submit" value="确定">
                <input type="reset" value="重置">
            </form>
        </div>
        <div data-role="footer" data-position="fixed" data-tap-toggle="false" class="jqm-footer">
            <h3></h3>
        </div>
    </div>
</body>
复制代码


controllers/login.php
PHP复制代码
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
 
class Login extends CI_Controller {
 
        public function __construct(){
                parent::__construct();
        }
 
        public function index(){
                $this->load->helper('form');
                $this->load->helper('url');
                $this->load->view('login');
                //
                /*if(isset($_SESSION['user'])){
                        //登陆状态
                }*/

                //$this->load->model('User_model');
                //var_dump ($this->User_model->get_user("丁月明"));
        }
 
        public function tologin(){
                $this->input->post("user_name");
                $this->load->model('User_model');
                $data = $this->User_model->get_user("测试");
                if($data){
                        $this->load->helper('url');
                        $this->load->library('session');
                        $this->session->set_userdata('user',$data);
                        redirect("main");
                }else{
                        $this->index();
                }
        }
}
 
复制代码


目前有两个问题
1.$this->input->post("user_name");获取不到值,var_dump()输出时始终为NULL
2.redirect("main");跳转时,成功了,且main控制器对应的index()方法也执行了。但是浏览中的url还是http://192.168.1.105/index.php/login/tologin
需要刷新一下,浏览中的url才变为:http://192.168.1.105/index.php/main。用header也试了,一样的结果。
调了很长时间了,也查了很多资料,没找到原因。
 楼主| 发表于 2016-5-29 23:22:45 | 显示全部楼层
<form action="<?php echo site_url('/login/tologin');?>" method="post" data-ajax="false">
问题找到了。
jquerymobile form中要加data-ajax="false"

本版积分规则