2011-06-28 51 views
0

當我登錄時,它給我「找不到錯誤頁面」。它沒有加載控制器功能。加載頁面在CodeIgniter中給出錯誤

這是我的看法文件:

<form name="loginform" action="welcome/login" method="post"> 
Enter User Name: 
<input type="text" name="uname"> 
Enter Password 
<input type="password" name="pass"> 
<input type="submit" name="login" value="Login"> 

這是我的登錄控制器文件:

class Login extends Controller { 
    function Login() 
    { 
     parent::Controller(); 
    } 
    function login() 
    { 
     $this->load->view('welcome_message'); 
    } 
} 

這是我的歡迎控制器文件:

class Welcome extends Controller { 

    function Welcome() 
    { 
     parent::Controller(); 
    } 
    function index() 
    { 
     $this->load->model('Loginmodel'); 
     $this->load->view('welcome_message'); 
    } 
    public function login() 
    { 
     $this->load->model('Loginmodel','login'); 
     $info = $this->logn->login(); 
     $this->load->view('welcome_message',$info); 
    } 
} 

你能不能給我任何想法是什麼錯誤?

+0

'$ this-> logn-> login();'似乎是一個錯字,仔細檢查你的實際代碼是否複製/粘貼。 –

+0

@Madmartigan:我同意你的意見。看到我的回答這個傢伙的問題。 http://stackoverflow.com/questions/8686964/show-records-ordered-with-maximum-price-first-in-php-mysql。它的答案非常快,很好的伎倆,但我從這個傢伙什麼都沒有,upvote沒有接受答案。爲什麼不在開始這樣的活動之前通過FAQ? – 2011-12-31 08:11:52

回答

0

您所提供的代碼看起來很好,所以我猜它與此有關:

<form name="loginform" action="welcome/login" method="post"> 

的路徑是相對的,它只會如果不存在URL段工作。如果當前網址是/hello/world,您最終會發布到/hello/world/welcome/login

嘗試一個完整的URL或絕對路徑。例如:

<form name="loginform" action="/welcome/login" method="post"> 
         <!-- ^^^ Note the leading forward slash --> 

或者使用base_url()爲完整的URL:

<form action="<?php echo base_url(); ?>welcome/login"> 

您還可能有興趣在form_open()功能,它會自動執行此操作。

<?php echo form_open('welcome/login'); ?> 

我能看到的唯一其他事物都將有與任何$this->login->login();做的事。如果您可以確認當您看到「未找到網頁」錯誤時,您的網址實際上是什麼,那將非常有幫助。

+0

它仍然是同樣的問題:( –

+0

@UmerSinghera:你能告訴我們你的URL看起來像什麼時候看到錯誤? –