CodeIgniter第一次无法登录

时间:2017-10-31 01:48:43

标签: codeigniter

我是CI的新手。我刚刚在CI中创建了登录表单,每次我第一次打开浏览器并登录表单时,根据操作甚至密码都没有重定向到页面。用户是对的。它只刷新页面。但我第二次登录时,它运行正常。 我尝试使用不同的浏览器并使用隐身功能也无济于事。所以错误只发生在我第一次运行脚本时。 任何想法?

由于

这是观点:

< script type = "text/javascript" >
  $(function() {
    $("#login_form").submit(function(evt) {
      evt.preventDefault();
      var url = $(this).attr('action');
      var postData = $(this).serialize();
      $.post(url, postData, function(o) {
        if (o.result === 1) {
          window.location.href = '<?=site_url('
          dashboard ')?>';
        } else {
          alert('Invalid login');
        }
      }, 'json');
    });
  }); <
/script>
<div class="row">

  <div class="span6">

    <form id="login_form" class="form-horizontal" method="post" action="<?=site_url('api/login')?>">
      <div class="control-group">
        <label class="control-label">Login</label>
        <div class="controls">
          <input type="text" name="login" class="input-xlarge" />
        </div>
      </div>
      <div class="control-group">
        <label class="control-label">Password</label>
        <div class="controls">
          <input type="password" name="password" class="input-xlarge" />
        </div>
      </div>

      <div class="control-group">
        <div class="controls">
          <input type="submit" value="Login" class="btn btn-primary btn-lg btn-block" />

        </div>
      </div>

    </form>

  </div>
</div>

这是我的控制器:

<?php
public function login()
    {                
        $login = $this->input->post('login');
        $password = $this->input->post('password');
      
        $this->load->model('user_model');          
        $result = $this->user_model->get([
            'login' => $login,
            'password' => hash('sha256', $password . PASX)
        ]);
                
        $this->output->set_content_type('application_json'); 
        
        if ($result){
            $this->session->set_userdata(['user_id' => $result[0]['user_id']]);            
            $this->output->set_output(json_encode(['result' => 1]));
            return false;
        }        
            $this->output->set_output(json_encode(['result' => 0]));
        
    }

0 个答案:

没有答案