dymkkk 发表于 2016-5-29 16:50:59

$this->input->post()获取不到值,redirect时需要刷新才行

views/login.php是这样的
<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
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也试了,一样的结果。
调了很长时间了,也查了很多资料,没找到原因。

dymkkk 发表于 2016-5-29 23:22:45

<form action="<?php echo site_url('/login/tologin');?>" method="post" data-ajax="false">
问题找到了。
jquerymobile form中要加data-ajax="false"
页: [1]
查看完整版本: $this->input->post()获取不到值,redirect时需要刷新才行