php – 不允许您请求的操作. Codigniter
发布时间:2020-12-13 18:13:31 所属栏目:PHP教程 来源:网络整理
导读:我正在尝试在codeigniter中创建一个简单的登录系统.当我点击我的按钮登录时,我收到一个错误: The action you have requested is not allowed. 当我打开我的控制台时,我看到了这个: POST http://localhost/PHP/PROJECT/CodeIgniter/ 403 (Forbidden) 这是我
我正在尝试在codeigniter中创建一个简单的登录系统.当我点击我的按钮登录时,我收到一个错误:
当我打开我的控制台时,我看到了这个:
这是我的看法: <body> <h1>LOG IN!</h1> <form action="" method="post"> <label for="username">Username:</label> <input type="text" id="username" name="username" > <label for="password">Password</label> <input type="password" id="password" name="password" > <br> <button id="btn_login" name="btn_login" >LOG IN!</button> </form> <div class="errors" ><?php echo validation_errors(); ?></div> </body> 这是我的模特: <?php class User_model extends CI_Model { public $m_sUsername; public $m_sPassword; public $m_sEmail; public $m_sPicture; function __construct() { parent::__construct(); } function get_user($username,$password) { $this->db->select("username","password"); $this->db->from(user); $this->db->where('username',$username); $this->db->where('password',$password); $this->db->limit(1); $query = $this->db->get(); return $query->num_rows(); } } 这是我的控制者: <?php class Login extends CI_Controller { function __construct() { parent::__construct(); $this->load->library('session'); $this->load->helper('form'); $this->load->helper('url'); $this->load->helper('html'); $this->load->database(); $this->load->library('form_validation'); $this->load->model("User_model","",true); } public function index() { if ($this->input->server('REQUEST_METHOD') == 'POST') { $username = $this->input->post("username"); $password = $this->input->post("password"); $this->form_validation->set_rules("username","Username","trim|required"); $this->form_validation->set_rules("password","Password","trim|required"); if ($this->form_validation->run() == FALSE) { //validation fails echo "Vul alle velden in"; } else { //validation succeeds if ($this->input->post('btn_login') == "Login") { //check if username and password is correct $usr_result = $this->User_model->get_user($username,$password); if ($usr_result > 0) { //active user record is present echo 'Ingelogd!'; } else { echo "Wrong!"; } } } } $this->load->view("admin/login_view.php"); } } 有谁知道如何解决这个问题? 谢谢!
检查你的config.php如果, $config['csrf_protection'] = TRUE; 如果设置为true,则需要使用form_open(),这将自动附加ci_csrf_token.否则你可以设置为FALSE. 但建议将其设置为TRUE.但是您需要确保所有请求都包含ci_csrf_token,包括AJAX请求. https://ellislab.com/codeigniter/user-guide/helpers/form_helper.html (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |