php – 不允许您请求的操作. Codigniter

前端之家收集整理的这篇文章主要介绍了php – 不允许您请求的操作. Codigniter前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试在codeigniter中创建一个简单的登录系统.当我点击我的按钮登录时,我收到一个错误

The action you have requested is not allowed.

当我打开我的控制台时,我看到了这个:

POST http://localhost/PHP/PROJECT/CodeIgniter/ 403 (Forbidden)

这是我的看法:

  1. <body>
  2. <h1>LOG IN!</h1>
  3. <form action="" method="post">
  4. <label for="username">Username:</label>
  5. <input type="text" id="username" name="username" >
  6. <label for="password">Password</label>
  7. <input type="password" id="password" name="password" >
  8. <br>
  9. <button id="btn_login" name="btn_login" >LOG IN!</button>
  10. </form>
  11. <div class="errors" ><?PHP echo validation_errors(); ?></div>
  12. </body>

这是我的模特:

  1. <?PHP
  2. class User_model extends CI_Model {
  3. public $m_sUsername;
  4. public $m_sPassword;
  5. public $m_sEmail;
  6. public $m_sPicture;
  7.  
  8. function __construct()
  9. {
  10. parent::__construct();
  11. }
  12.  
  13. function get_user($username,$password)
  14. {
  15. $this->db->select("username","password");
  16. $this->db->from(user);
  17. $this->db->where('username',$username);
  18. $this->db->where('password',$password);
  19. $this->db->limit(1);
  20. $query = $this->db->get();
  21. return $query->num_rows();
  22. }
  23. }

这是我的控制者:

  1. <?PHP
  2.  
  3. class Login extends CI_Controller {
  4.  
  5. function __construct()
  6. {
  7. parent::__construct();
  8. $this->load->library('session');
  9. $this->load->helper('form');
  10. $this->load->helper('url');
  11. $this->load->helper('html');
  12. $this->load->database();
  13. $this->load->library('form_validation');
  14. $this->load->model("User_model","",true);
  15. }
  16.  
  17. public function index()
  18. {
  19. if ($this->input->server('REQUEST_METHOD') == 'POST') {
  20. $username = $this->input->post("username");
  21. $password = $this->input->post("password");
  22. $this->form_validation->set_rules("username","Username","trim|required");
  23. $this->form_validation->set_rules("password","Password","trim|required");
  24.  
  25. if ($this->form_validation->run() == FALSE) {
  26. //validation fails
  27. echo "Vul alle velden in";
  28. } else {
  29. //validation succeeds
  30. if ($this->input->post('btn_login') == "Login") {
  31. //check if username and password is correct
  32. $usr_result = $this->User_model->get_user($username,$password);
  33. if ($usr_result > 0) { //active user record is present
  34. echo 'Ingelogd!';
  35. } else {
  36. echo "Wrong!";
  37. }
  38. }
  39. }
  40. }
  41.  
  42. $this->load->view("admin/login_view.PHP");
  43. }
  44. }

有谁知道如何解决这个问题?

谢谢!

检查你的config.PHP如果,
  1. $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

猜你在找的PHP相关文章