我遇到问题加载函数login_validation一旦我点击登录按钮,我得到404错误,说它没有找到。我已经包含了下面两个相关页面的代码。codeigniter - 单击按钮时加载函数
的login.php:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Login Page</title>
</head>
<body>
<div id="container">
<h1>Login</h1>
<?php
echo form_open('main/login_validation');
echo validation_errors();
echo "<p>Email: ";
echo form_input('email');
echo "</p>";
echo "<p>Password: ";
echo form_password('password');
echo "</p>";
echo "<p>";
echo form_submit('login_submit', 'Login');
echo "</p>";
echo form_close();
?>
</div>
</body>
</html>
main.php:
<?php if (! defined('BASEPATH')) exit('No direct script access allowed');
class Main extends CI_Controller {
public function index() {
$this->login();
}
public function login() {
$this->load->view('login');
}
public function members() {
$this->load->view('members');
}
public function login_validation() {
$this->load->library('form_validation');
$this->form_validation->set_rules('email', 'Email', 'required|trim|xsss_clean');
$this->form_validation->set_rules('password', 'Password', 'required|md5');
if ($this->form_validation->run()) {
redirect('main/members');
}
else {
$this->load->view('login');
}
}
}
没有人有任何想法,为什么这个功能不能正常工作?
您是否有导入窗体帮助器? '$ this-> load-> helper('form');'你应该添加控制器的'构造器'。 – lighter
我有$ autoload ['helper'] = array('form','url');在autoload.php文件中 – user3456633