加载页面在CodeIgniter中出错

时间:2011-06-28 12:14:43

标签: 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);
    }
}

你能告诉我什么是错的吗?

1 个答案:

答案 0 :(得分:0)

您提供的代码似乎很好,所以我猜它与此有关:

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

路径是相对的,只有在没有url段存在时才会起作用。如果当前网址为/hello/world,您最终会发布到/hello/world/welcome/login

尝试完整的网址或绝对路径。例如:

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

或者使用base_url()作为完整网址:

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

您可能还会对form_open()功能感兴趣,它会自动执行此操作。

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

我能看到的唯一其他事情与$this->login->login();无关。如果您在看到“找不到页面”错误时可以确认您的网址实际是什么,那将是一个很大的帮助。