mysql - 无法将变量 session 插入数据库

标签 mysql codeigniter session

这是 Controller

public function add(){

    $npp=$this->session->userdata('NPP');

    $mpwp=$this->input->post('mpwp');

    $ket=$this->input->post('ket');

    $data = array(
       'npp'=>$npp,
       'tgl_pengajuan' => date('y-m-d'),
       'ket' => $ket,
        'status' => 'P' 
       'mpwp'=>$mpwp,
     );

    $this->Cutimpwp_Model->add($data);

    redirect('cutiMpwp');
  }

这是模型

function add($data) {
  $this->db->insert('cuti_mpwp',$data);
}

这里是 View

<div class="form_row">
<label class="field_name">mpwp</label>
<div class="field">
<input type="text"  name="mpwp"  class="input-large"   value="<?php echo set_value('mpwp'); ?>" placeholder="masukan nama"> 
</div>
</div>
<div class="form_row">
<label class="field_name">Keterangan (MAKS 50 KARAKTER)</label>
<div class="field">
<textarea  placeholder="KETERANGAN CUTI" id="ket" name="ket" class="span12" cols="40" rows="5"></textarea>
</div>

</div>

这是我在数据库中的专栏

id | npp | tgl_pengajuan | ket | status | mpwp

没有错误,但是无法插入

抱歉,我忘记将标签表单放在这里 这就是我的完整 View

<link rel="stylesheet" href="<?php echo base_url();?>css/themes/jquery.ui.all.css" type="text/css" />
<script>  $(document).ready(function() {
  $( ".datepicker" ).datepicker(); });
  function save(){  $.ajax({
  url:'<?php echo base_url(); ?>cutimpwp/add/',     
  type:'POST',
  data:$('#frmsave').serialize(),
  success:function(data){ 
      if(data!=''){
       $( "#infodlg" ).html(data);
       $( "#infodlg" ).dialog({ title:"Info...", draggable: false});           
    } else {
       window.location="<?php echo base_url() ?>cutimpwp";   }
   } });  }
   function confirmdlg(){
      $("#confirm").dialog({
       resizable: false,
       modal: true,
       title:"Info...",
       draggable: false,
       width: 'auto',

       height: 'auto',
       buttons: {
       "Ya": function(){
         save();   
          $(this).dialog("close");
          window.location="<?php echo base_url() ?>cutimpwp";
        },
        "Tutup": function(){
           $(this).dialog("close");
        }
       }
      }); } </script>
      <div class="span6">
                    <div class="well grey">
                        <div class="well-header">
                            <h5>Tambah Cuti  </h5>
                        </div>
            <div class="well-content no-search">
                            <form id="frmsave" name="frmsave"  class="form-validate">


                    <h3>Detail </h3>


               <div class="form_row">
                                    <label class="field_name">mpwp</label>
                                    <div class="field">
                                       <input type="text"  name="mpwp"  class="input-large"   value="<?php echo set_value('mpwp'); ?>" placeholder="masukan nama"> 
                </div>
               </div>

               <div class="form_row">
                                    <label class="field_name">Keterangan (MAKS 50 KARAKTER)</label>
                                    <div class="field">
                                        <textarea  placeholder="KETERANGAN CUTI" id="ket" name="ket" class="span12" cols="40" rows="5" value="<?php echo set_value('ket'); ?>"></textarea>
                                    </div>
                                </div>


               <div class="form_row">
                                    <div class="field">
                                        <a onclick="return confirmdlg()" class="blue btn">Submit</a>
                                        <a  href="<?php echo base_url() ?>cuti_mpwp" class="red btn">Cancel</a>
                                    </div>
                                </div>

                                 </form>
            </div>
            </div>
            </div>
            <div id="confirm" style="display:none"> Anda Ingin Meyimpan data ini</div>     

并跟随你的教练

我的 Controller

    public function add()
        { if($this->session->userdata('LOGIN')=='TRUE')
     { $this->load->library('form_validation');
      $this->form_validation->set_rules('mpwp', 'mpwp');
       if ($this->form_validation->run() == false) {
        $data['view'] = 'cutimpwp/add';
         $data['judul']='';
        $this->load->view('index',$data);
        }else {$this->load->model('Cutimpwp_Model');
   $this->Cutimpwp_Model->add();
  redirect('cutimpwp'); }}}

Controller

 `public function add() {
  $npp = $this->session->userdata('NPP');
  $mpwp = $this->input->post('mpwp');
  $ket = $this->input->post('ket');
  $data = array( 'npp'=> $npp,
  'tgl_pengajuan' => date('y-m-d'),
  'ket' => $ket,
  'status' => 'P', 
  'mpwp'=> $mpwp);
   $this->db->insert('Cutimpwp_Model', $data);}`

最佳答案

为什么不直接在加载模型的地方这样做呢?在 Controller 中也没有看到任何表单验证。如果提交内容,您需要它。

请记住在 View 上没有看到任何内容时使用表单标签。

型号

public function add() {

  $npp = $this->session->userdata('NPP');

  $mpwp = $this->input->post('mpwp');

  $ket = $this->input->post('ket');

  $data = array(
      'npp' => $npp,
      'tgl_pengajuan' => date('y-m-d'),
      'ket' => $ket,
      'status' => 'P'
      'mpwp'=> $mpwp
    );

  $this->db->insert('table', $data);    
}

提交表单时,您需要运行 codeigniter 表单验证。在表单验证加载模型函数的成功部分。

您可能还需要在routes.php中设置函数名称

Controller :

<?php

class Name extends CI_Controller {

  public function index() {

  }

  public function add() {
    $this->load->library('form_validation');

    $this->form_validation->set_rules('mpwp', 'mpwp');

    if ($this->form_validation->run() == false) {

      // do something

    } else {

      $this->load->model('modelname');

      $this->modelname->add();

      redirect('yourpage');

    }
  }
}

关于mysql - 无法将变量 session 插入数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28543631/

相关文章:

php - 数据库存储与 Cookies - 存储表单数据

javascript - 从任何浏览器查看 JavaScript 变量

session - Plone session 永远持续

MySQL:错误代码:1411。日期时间值不正确:函数 str_to_date 0.000 秒为 '24102018915G'

mysql - 制作 MySQL 表

mysql - if 语句语法错误触发

mysql - Wamp phpMyAdmin密码问题

javascript - 将 X-editable 与 CodeIgniter 3 CSRF 问题结合使用

php - 1330316 AJAX 请求会使我的服务器崩溃吗?

java - Tomcat 6 : Max Session Idle time different between instances