2016-03-28 56 views
1

我只是把我的網站從localhost上傳到hostinger和filezilla。 我已經配置好數據庫設置並且一切正常,但是如果我想登錄到網站,我會得到不同的結果。它會給出錯誤「用戶名或密碼錯誤」。 之後,我在我的本地主機上運行該網站。用相同的用戶名/密碼登錄並開始工作。 我不知道該錯誤,我使用本地和hostingerCodeigniter項目在hostinger和localhost之間有不同的結果

控制器/ login.php中

<?php 
    class Login extends CI_Controller { 
    function __construct() { 
    parent::__construct(); 
    session_start(); 
    $this->load->model(array('mlogin')); 
    if ($this->session->userdata('email')) { 
    $this->load->view('header1'); 
    } 
    elseif (!$this->session->userdata('email')) { 
    $this->load->view('header'); 
    } 
    } 
    function index() { 
    $this->load->view('login'); 
    } 

function proses() { 
    $this->form_validation->set_rules('email', 'email', 'required|trim|xss_clean'); 
    $this->form_validation->set_rules('password', 'password', 'required|trim|xss_clean'); 

    if ($this->form_validation->run() == FALSE) { 
     $this->load->view('login'); 
    } else { 

     $usr = $this->input->post('email'); 
     $psw = $this->input->post('password'); 
     $u = mysql_real_escape_string($usr); 
     $p = md5(mysql_real_escape_string($psw)); 
     $cek = $this->mlogin->cek($u, $p); 
     if ($cek->num_rows() > 0) { 
      //login berhasil, buat session 
      foreach ($cek->result() as $qad) { 
       $sess_data['u_id'] = $qad->u_id; 
       $sess_data['nama'] = $qad->nama; 
       $sess_data['email'] = $qad->email; 
       $sess_data['role'] = $qad->role; 
       $this->session->set_userdata($sess_data); 
      } 
      redirect('home'); 
     } else { 

      $this->session->set_flashdata('result_login', '<br>Username atau Password yang anda masukkan salah.'); 
      redirect('login'); 
     } 
    } 
} 

function logout() { 
    $this->session->sess_destroy(); 
    redirect('login'); 
}} 

模型/ mlogin.php

<?php 

class Mlogin extends CI_Model { 

private $table = "user"; 

function cek($email, $password) { 
    $this->db->where("email", $email); 
    $this->db->where("u_paswd", $password); 
    return $this->db->get("user"); 
} 

function semua() { 
    return $this->db->get("user"); 
} 

function cekKode($kode) { 
    $this->db->where("email", $kode); 
    return $this->db->get("user"); 
} 

function cekId($kode) { 
    $this->db->where("u_id", $kode); 
    return $this->db->get("user"); 
} 

function getLoginData($usr, $psw) { 
    $u = mysql_real_escape_string($usr); 
    $p = md5(mysql_real_escape_string($psw)); 
    $q_cek_login = $this->db->get_where('users', array('email' => $u, 'password' => $p)); 
    if (count($q_cek_login->result()) > 0) { 
     foreach ($q_cek_login->result() as $qck) { 
      foreach ($q_cek_login->result() as $qad) { 
       $sess_data['logged_in'] = 'vera'; 
       $sess_data['u_id'] = $qad->u_id; 
       $sess_data['email'] = $qad->email; 
       $sess_data['nama'] = $qad->nama; 
       $sess_data['group'] = $qad->group; 
       $sess_data['rid'] = $qad->rid; 
       $this->session->set_userdata($sess_data); 
      } 
      redirect('main'); 
     } 
    } else { 
     $this->session->set_flashdata('result_login', '<br>Username atau Password yang anda masukkan salah.'); 
     header('location:' . base_url() . 'login'); 
    } 
} 

function update($id, $info) { 
    $this->db->where("u_id", $id); 
    $this->db->update("user", $info); 
} 

function simpan($info) { 
    $this->db->insert("user", $info); 
} 

function hapus($kode) { 
    $this->db->where("u_id", $kode); 
    $this->db->delete("user"); 
} 

} 

視圖/登錄之間相同的代碼。 php

<html> 
<head> 
    <meta charset="UTF-8"> 
    <title>Log in</title> 
    <meta content='width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no' name='viewport'> 
    <!-- Font Awesome Icons --> 
    <link href="<?php echo base_url('assets/css/font-awesome.min.css'); ?>" rel="stylesheet"> 
    <!-- Theme style --> 
    <link href="<?php echo base_url('assets/css/AdminLTE.min.css'); ?>" rel="stylesheet">   
    <!-- iCheck --> 
    <link href="<?php echo base_url('assets/js/plugins/iCheck/square/blue.css'); ?>" rel="stylesheet"> 

</head> 
<body> 
    <body class="login-page"> 
    <div class="login-box"> 
     <div class="login-logo"> 
     <div class="login-box-body"> 
      <h2>Login</h2> 
      <form action="<?php echo site_url('login/proses'); ?>" method="post"> 
       <?php 
       if (validation_errors() || $this->session->flashdata('result_login')) { 
        ?> 
        <div class="alert alert-error"> 
         <button type="button" class="close" data-dismiss="alert">&times;</button> 
         <strong>Warning!</strong> 
         <?php echo validation_errors(); ?> 
         <?php echo $this->session->flashdata('result_login'); ?> 
        </div>  
       <?php } ?> 
       <div class="form-group has-feedback"> 
        <input type="email" name="email" class="form-control" placeholder="Username"/> 
        <span class="glyphicon glyphicon-user form-control-feedback"></span> 
       </div> 
       <div class="form-group has-feedback"> 
        <input type="password" name="password" class="form-control" placeholder="Password"/> 
        <span class="glyphicon glyphicon-lock form-control-feedback"></span> 
       </div> 
       <div> 
         <button type="submit" class="btn btn-primary btn-block btn-flat">Masuk</button> 
       <br> 
      <a href="<?php echo base_url();?>index.php/user"><h4>Daftar Anggota Baru</h4></a> 
        </div><!-- /.col --> 
       </div> 
      </form>    
     </div><!-- /.login-box-body --> 
    </div><!-- /.login-box --> 

    <!-- jQuery 2.1.3 --> 
    <script src="<?php echo base_url('assets/js/plugins/jQuery/jQuery-2.1.3.min.js'); ?>"></script> 
    <!-- Bootstrap 3.3.2 JS --> 
    <script src="<?php echo base_url('assets/js/bootstrap.min.js'); ?>"></script> 
    <!-- iCheck --> 
    <script src="<?php echo base_url('assets/js/plugins/iCheck/icheck.min.js'); ?>"></script>  
    <script> 
     $(function() { 
      $('input').iCheck({ 
       checkboxClass: 'icheckbox_square-blue', 
       radioClass: 'iradio_square-blue', 
       increaseArea: '20%' // optional 
      }); 
     }); 
    </script> 
<script> 
$(function() { 
    $("#slider").responsiveSlides({ 
    auto: true, 
    nav: true, 
    speed: 500, 
    namespace: "callbacks", 
    pager: true, 
    }); 
}); 
</script> 

    <!--footer-starts--> 
    <?php $this->load->view('footer') ?> 
    <!----> 
    </div> 
    </body> 
    </html> 

localhost php ver錫永5.6.11

hostinger PHP版本5.6.18

+1

在這種情況下,你需要調試上載活動網站代碼。只需打開一個文件,在該文件中查詢提供的登錄詳細信息即可從數據庫獲取記錄。回聲查詢並在實時數據庫中進行檢查。如果你有行,意味着查詢和登錄細節都很好,否則請更改登錄信息並重試。 –

+0

如果你自動加載會話庫,你不需要使用'session_start();' – user4419336

+0

仍然不行。幫助我@ wolfgang1983 –

回答

0

Hostinger與資本

改變這種代碼

$this->form_validation->set_rules('email', 'email', 'required|trim|xss_clean'); 
$this->form_validation->set_rules('password', 'password', 'required|trim|xss_clean'); 

與此

$this->form_validation->set_rules('email', 'Email', 'required|trim|xss_clean'); 
$this->form_validation->set_rules('password', 'Password', 'required|trim|xss_clean'); 

敏感,我認爲這個代碼會給你0爲$ p

$p = md5(mysql_real_escape_string($psw)); 

只是用這個

$p = md5($psw); 
相關問題