CodeIgniter 404错误的请求错误
问题描述:
我正在使用codeIgniter。我正在创建一个登录表单,用于检查数据库中的成员详细信息。CodeIgniter 404错误的请求错误
然而,当我点击登录我收到此错误信息:
The requested URL /waitronmain/login.php/login/validate_credentials was not found on this server.
但是这是我的login.php文件,你可以看到validate_credentials()确实存在。
class Login extends CI_Controller{
function index()
{
$data['main_content'] = 'login_form';
$this->load->view('includes/template', $data);
}
function validate_credentials()
{
//load model to query db
$this->load->model('membership_model');
$query = $this->membership_model->validate();
if($query){ //if credentials validated
$data = array(
'username' => $this->input->post('username'),
'is_logged_in' => true
);
$this ->session->set_userdata($data);
redirect('site/members_area');
}
else{ //if not validated load login form again.
$this->index();
}
}
}
任何想法是怎么回事?我应该进入'members_area'页面,因为我知道我输入的细节是正确的。
任何帮助将不胜感激。
答
这是什么?
/waitronmain /login.php/
登录/ validate_credentials
的login.php应不URL,我认为你应该做的:
/waitronmain/login/validate_credentials
(假设你删除从URL中的index.php,你是waitronmain内/根)
什么与'/ login.php/index.php'部分的网址?这是你的真实网址吗?无论如何,这个问题可能是你在你的url中使用了一个下划线'_'。你应该使用破折号'validate-credentials'。我不认为一个控制器函数名可以在它们中有一个破折号,所以你将需要使用一个路由(routes.php)来连接URL validate-credentials和方法validate_credentials。 – Jeemusu 2013-02-14 01:10:19
抱歉,由于未在'config.php'文件中设置正确的索引页,因此导致网站混乱。我更新了我的问题中的网址。我不确定如何使用'routes.php'文件来连接网址。你能举个例子吗? – Javacadabra 2013-02-14 01:15:38
为什么它被命名为'login.php'?它应该被命名为'index.php',因为这是处理所有请求的主要文件,并且会正确加载Login类。 – 2013-02-14 01:26:22