2013-02-25 65 views
0

看看這段代碼我總是收到錯誤404 請求的URL找不到 在此服務器上找不到請求的URL/Survay_Test/verifylogin。不知道什麼可能是錯的。登錄不工作404錯誤

任何人都可以幫忙嗎?這裏是我的代碼

控制器:verifylogin.php

<?php if (! defined('BASEPATH')) exit('No direct script access allowed'); 

class Verifylogin extends CI_Controller { 

function index() 
{ 
    //This method will have the credentials validation 
    $this->load->model('user','',TRUE); 
    $this->load->library('form_validation'); 

    $this->form_validation->set_rules('username', 'Username', 'trim|required|xss_clean'); 
    $this->form_validation->set_rules('password', 'Password', 'trim|required|xss_clean|callback_check_database'); 

    if($this->form_validation->run() == FALSE) 
    { 
    //Field validation failed. User redirected to login page 
    $this->load->view('login_view'); 
    } 
    else 
    { 
    //Go to private area 
    redirect('home', 'refresh'); 
    } 

} 

function check_database($password) 
{ 
    //Field validation succeeded. Validate against database 
    $username = $this->input->post('username'); 

    //query the database 
    $result = $this->user->login($username, $password); 

    if($result) 
    { 
    $sess_array = array(); 
    foreach($result as $row) 
    { 
     $sess_array = array(
     'id' => $row->id, 
     'username' => $row->username 
     ); 
     $this->session->set_userdata('logged_in', $sess_array); 
    } 
    return TRUE; 
    } 
    else 
    { 
    $this->form_validation->set_message('check_database', 'Invalid username or password'); 
    return false; 
    } 
} 
} 
?> 

home.php

<?php if (! defined('BASEPATH')) exit('No direct script access allowed'); 
session_start(); //we need to call PHP's session object to access it through CI 

class Home extends CI_Controller { 

function index() 
{ 
    if($this->session->userdata('logged_in')) 
    { 
    $session_data = $this->session->userdata('logged_in'); 
    $data['username'] = $session_data['username']; 
    $this->load->view('home_view', $data); 
    } 
    else 
    { 
    //If no session, redirect to login page 
    redirect('login', 'refresh'); 
    } 
} 

function logout() 
{ 
    $this->session->unset_userdata('logged_in'); 
    session_destroy(); 
    //redirect('home', 'refresh'); 
} 

} 

?> 

型號:user.php的

<?php 
Class User extends CI_Model 
{ 
function login($username, $password) 
{ 
    $data['main_content'] = 'login_view'; 
    $this->load->view('includes/template', $data); 
    $this->db->select('id, username, password'); 
    $this->db->from('membership'); 
    $this->db->where('username', $username); 
    $this->db->where('password', md5($password)); 
    $this->db->limit(1); 

    $query = $this->db->get(); 

    if($query->num_rows() == 1) 
    { 
    return $query->result(); 
    } 
    else 
    { 
    return false; 
    } 
} 
} 
?> 

查看:login_view.php

<html> 
<head> 
    <title>Login</title> 
</head> 
<body> 
    <h1>Login</h1> 
    <?php echo validation_errors(); ?> 
    <?php echo form_open('verifylogin'); ?> 
    <label for="username">Username:</label> 
    <input type="text" size="20" id="username" name="username"/> 
    <br/> 
    <label for="password">Password:</label> 
    <input type="password" size="20" id="passowrd" name="password"/> 
    <br/> 
    <input type="submit" value="Login"/> 
    </form> 
</body> 
+0

您要使用的CodeIgniter PHP登錄信息。請查看http://www.codefactorycr.com/login-with-codeigniter-php.html – Vineet1982 2013-02-25 07:33:50

+0

是的,我使用本教程來構建此登錄信息,當我嘗試登錄時出現錯誤 – 2013-02-25 07:38:16

+0

您是否刪除了index.php從URL ...或不... index.php/Survay_Test/verifylogin正在工作?? – 2013-02-25 07:55:15

回答

0

小修復,你必須像這樣小寫啓動控制器名稱...

<?php echo form_open('verifyLogin'); ?> 
    <label for="username">Username:</label> 
    <input type="text" size="20" id="username" name="username" /> 
    <br/> 
    <label for="password">Password:</label> 
    <input type="password" size="20" id="passowrd" name="password" /> 
    <br/> 
    <input type="submit" value="Login" /> 
</form> 
+0

只是rialized tnx爲你的幫助anyvay :) – 2013-02-25 08:41:35