Как использовать токен CSRF в codeigniter с данными Ajax Post в базе данных с ошибкой 403 ..?

* При публикации данных в базе данных в codeigniter в первый раз мои данные отправляются в базу данных, но когда я второй раз пытаюсь отправить данные в базу данных, это дает мне 403 ОШИБКА. Первый раз код работает, когда я второй раз я опубликуйте это, выдайте мне ошибку 403, данные не публикуются или не сохраняются в моей базе данных. *

Посмотреть код страницы:

<html lang="en">
<head>
  <title>Bootstrap Example</title>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css">
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js"></script>
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js"></script>


</head>
<body>

<div class="container">
 <div class="row">
  <div class="col-md-3"></div>
  <div class="col-md-6">
    <h2>Register</h2>
     <!--  <form id="saveEmpForm"> -->

      <?php


          $attributes = array('id' => 'saveEmpForm');
          echo form_open('register/insert', $attributes);

      ?>

        <div class="form-group">
          <label for="name">Name:</label>
          <input type="text" class="form-control" id="name" placeholder="Enter Name" name="name">
        </div>

        <div class="form-group">
          <label for="email">Email:</label>
          <input type="email" class="form-control" id="email" placeholder="Enter email" name="email">
        </div>
        <div class="form-group">
          <label for="pwd">Password:</label>
          <input type="password" class="form-control" id="password" placeholder="Enter password" name="pswd">
        </div>

        <button type="submit" class="btn btn-primary" id="btn_add">Submit</button>
      </form>
    </div>
   <div class="col-md-3"></div>
 </div>
</div>





<script type="text/javascript">
   var csrf_token = '<?php echo $this->security->get_csrf_hash(); ?>';
</script>

<script type="text/javascript">





  $('#saveEmpForm').submit('click',function(){
    var name = $('#name').val();
    var email = $('#email').val();
    var password = $('#password').val();

    $.ajax({
      type : "POST",
      url  : "<?php echo base_url(); ?>register/insert",
      dataType : "JSON",
      data : {name:name, email:email, password:password, csrf_test_name: csrf_token},
      success: function(response){


        $('#name').val("");
        $('#email').val("");
        $('#password').val("");

        alert('Success');


      }
    });
    return false;
  });

</script>

</body>
</html>

Код контроллера:


defined('BASEPATH') OR exit('No direct script access allowed');

class Register extends CI_Controller {

   public function __construct(){
    parent::__construct();
    $this->load->model('register_model');
   }

    public function index()
    {
        $this->load->view('register_view');
    }

    public function insert(){

        $data = array(              
                'name'          => $this->input->post('name'), 
                'email'             => $this->input->post('email'), 
                'password'  => $this->input->post('password')
            );
        $result=$this->register_model->insert_data($data);

        echo json_encode($data);
    }




}

Код модели:


class Register_model extends CI_Model{

    public function insert_data($data)
     {
      $this->db->insert('emp',$data);
      return $this->db->insert_id();
     }


}

?>```

person Tanwir Alam    schedule 26.09.2019    source источник
comment
возможное дублирование stackoverflow.com/questions/38502548/   -  person MoxGeek    schedule 26.09.2019