2011-06-28 31 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看起来像什么时候看到错误? –