簡體   English   中英

如何使用PHP CodeIgniter,JQuery,AJAX檢查ID驗證是否已存在於數據庫中

[英]how to Check ID verification if already exists in the database using PHP CodeIgniter, JQuery, AJAX

我正在嘗試使用ajax和codeigniter檢查ID的有效性。 當id的狀態(如果已獲取)將顯示為“ NPP tidak ada di database”。

我的控制者:

 public function ajax_add()
    {
        $this->_validate();
         $data = array(
        'id' => $this->input->post('id'),
        'username' => $this->input->post('username'),
        'password' => $this->input->post('password'),
        'level' => $this->input->post('level'),
    );
        $insert = $this->user_model->save($data);
        echo json_encode(array("status" => TRUE));
    }

   private function _validate()
   {
$data = array();
$data['error_string'] = array();
$data['inputerror'] = array();
$data['status'] = TRUE;
$id  = $this->input->post('id');
$result     = $this->user->checknpp( $id );  #send the post variable to  the model
//value got from the get metho
$id= $id;

 if( $result == '0' )
 {
    $data['inputerror'][] = 'id';
    $data['error_string'][] = 'NPP tidak ada di database';
    $data['status'] = FALSE;
  }    
 if($data['status'] === FALSE)
  {
    echo json_encode($data);
    exit();
}
}

我的模態:

public function checknpp($id)
{  
   $this->db->select('id');
   $this->db->where('id', $id);
   $this->db->from('id', 1);
   $query = $this->db->get();

   if( $query->num_rows() > 0 ){     return 0;    }
   else{    return 1;   }               
} 

我的js:

function save()
 {
  $('#btnSave').text('saving...'); //change button text
  $('#btnSave').attr('disabled',true); //set button disable 
  var url;

if(save_method == 'add') {
    url = "<?php echo site_url('user/ajax_add')?>";
} else {
    url = "<?php echo site_url('user/ajax_update')?>";
}

// ajax adding data to database
$.ajax({
    url : url,
    type: "POST",
    data: $('#form').serialize(),
    dataType: "JSON",
    success: function(data)
    {

        if(data.status) //if success close modal and reload ajax table
        {
            $('#modal_form').modal('hide');
            reload_table();
        }
        else
        {
            for (var i = 0; i < data.inputerror.length; i++) 
            {
                  $('[name="'+data.inputerror[i]+'"]').parent().parent().addClass('has-error'); //select parent twice to select div form-group class and add has-error class
                  $('[name="'+data.inputerror[i]+'"]').next().text(data.error_string[i]); //select span help-block class set text error string
            }
        }
        $('#btnSave').text('save'); //change button text
        $('#btnSave').attr('disabled',false); //set button enable 


    },
    error: function (jqXHR, textStatus, errorThrown)
    {
        alert('Error adding / update data');
        $('#btnSave').text('save'); //change button text
        $('#btnSave').attr('disabled',false); //set button enable 

    }
  });
}

我的觀點:

<input name="id" id="masukpun" placeholder="NPP" class="form-control" type="text" />

但是,當我運行它時,它總是說更新/添加數據時出錯。

試試這個

public function ajax_add() {
    $data = array();
    $data['error_string'] = array();
    $data['inputerror'] = array();
    $data['status'] = TRUE;
    $id = $this->input->post('id');
    $result = $this->user->checknpp($id);  #send the post variable to  the model
    //value got from the get metho
    $id = $id;

    if ($result == '0') {
        $data['inputerror'][] = 'id';
        $data['error_string'][] = 'NPP tidak ada di database';
        $data['status'] = FALSE;
    } else {
        $data = array(
            'id' => $this->input->post('id'),
            'username' => $this->input->post('username'),
            'password' => $this->input->post('password'),
            'level' => $this->input->post('level'),
        );
        $insert = $this->user_model->save($data);
        $data = array("status" => TRUE);
    }
    echo json_encode($data);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM