Welcome Guest, Not a member yet? Register   Sign In
A PHP Error was encountered Severity: Notice Message: Undefined index: Satker
#1

I am very confused of this error messages. Please help me


Quote:A PHP Error was encountered
Severity: Notice
Message: Undefined index: Satker
Filename: controllers/Members.php
Line Number: 67
Backtrace:
File: C:\xampp\htdocs\nonameapp\application\controllers\Members.php
Line: 67
Function: _error_handler
File: C:\xampp\htdocs\nonameapp\index.php
Line: 315
Function: require_once




Quote:A Database Error Occurred
Error Number: 1048
Column 'satker' cannot be null
INSERT INTO `t_satker` (`kode`, `satker`, `created`, `modified`) VALUES ('asas', NULL, '2019-10-14 13:29:23', '2019-10-14 13:29:23')
Filename: C:/xampp/htdocs/nonameapp/system/database/DB_driver.php
Line Number: 691


This is my controller
Code:
<?php
if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Members extends CI_Controller {
   
    function __construct() {
        parent::__construct();
       
        // Load member model
        $this->load->model('member');
       
        // Load form validation library
        $this->load->library('form_validation');
       
        // Load file helper
        $this->load->helper('file');
    }
   
    public function index(){
        $data = array();
       
        // Get messages from the session
        if($this->session->userdata('success_msg')){
            $data['success_msg'] = $this->session->userdata('success_msg');
            $this->session->unset_userdata('success_msg');
        }
        if($this->session->userdata('error_msg')){
            $data['error_msg'] = $this->session->userdata('error_msg');
            $this->session->unset_userdata('error_msg');
        }
       
        // Get rows
        $data['members'] = $this->member->getRows();
       
        // Load the list page view
        $this->load->view('members/index', $data);
    }
   
    public function import(){
        $data = array();
        $memData = array();
       
        // If import request is submitted
        if($this->input->post('importSubmit')){
            // Form field validation rules
            $this->form_validation->set_rules('file', 'CSV file', 'callback_file_check');
           
            // Validate submitted form data
            if($this->form_validation->run() == true){
                $insertCount = $updateCount = $rowCount = $notAddCount = 0;
               
                // If file uploaded
                if(is_uploaded_file($_FILES['file']['tmp_name'])){
                    // Load CSV reader library
                    $this->load->library('CSVReader');
                   
                    // Parse data from CSV file
                    $csvData = $this->csvreader->parse_csv($_FILES['file']['tmp_name']);
                   
                    // Insert/update CSV data into database
                    if(!empty($csvData)){
                        foreach($csvData as $row){ $rowCount++;
                           
                            // Prepare data for DB insertion
                            $memData = array(
                                'kode' => $row['Kode'],
                                'satker' => $row['Satker'],
                            );
                           
                            // Check whether email already exists in the database
                            $con = array(
                                'where' => array(
                                   
                                ),
                                'returnType' => 'count'
                            );
                            $prevCount = $this->member->getRows($con);
                           
                            if($prevCount > 0){
                                // Update member data
                                $condition = array();
                                $update = $this->member->update($memData, $condition);
                               
                                if($update){
                                    $updateCount++;
                                }
                            }else{
                                // Insert member data
                                $insert = $this->member->insert($memData);
                               
                                if($insert){
                                    $insertCount++;
                                }
                            }
                        }
                       
                        // Status message with imported data count
                        $notAddCount = ($rowCount - ($insertCount + $updateCount));
                        $successMsg = 'Members imported successfully. Total Rows ('.$rowCount.') | Inserted ('.$insertCount.') | Updated ('.$updateCount.') | Not Inserted ('.$notAddCount.')';
                        $this->session->set_userdata('success_msg', $successMsg);
                    }
                }else{
                    $this->session->set_userdata('error_msg', 'Error on file upload, please try again.');
                }
            }else{
                $this->session->set_userdata('error_msg', 'Invalid file, please select only CSV file.');
            }
        }
        redirect('members');
    }
   
    /*
     * Callback function to check file value and type during validation
     */
    public function file_check($str){
        $allowed_mime_types = array('text/x-comma-separated-values', 'text/comma-separated-values', 'application/octet-stream', 'application/vnd.ms-excel', 'application/x-csv', 'text/x-csv', 'text/csv', 'application/csv', 'application/excel', 'application/vnd.msexcel', 'text/plain');
        if(isset($_FILES['file']['name']) && $_FILES['file']['name'] != ""){
            $mime = get_mime_by_extension($_FILES['file']['name']);
            $fileAr = explode('.', $_FILES['file']['name']);
            $ext = end($fileAr);
            if(($ext == 'csv') && in_array($mime, $allowed_mime_types)){
                return true;
            }else{
                $this->form_validation->set_message('file_check', 'Please select only CSV file to upload.');
                return false;
            }
        }else{
            $this->form_validation->set_message('file_check', 'Please select a CSV file to upload.');
            return false;
        }
    }
}

And this is view
Code:
<div class="container">
    <h2>Members List</h2>
    
    <!-- Display status message -->
    <?php if(!empty($success_msg)){ ?>
    <div class="col-xs-12">
        <div class="alert alert-success"><?php echo $success_msg; ?></div>
    </div>
    <?php } ?>
   
    <?php if(!empty($error_msg)){ ?>
    <div class="col-xs-12">
        <div class="alert alert-danger"><?php echo $error_msg; ?></div>
    </div>
    <?php } ?>
    
    <div class="row">
        <!-- Import link -->
        <div class="col-md-12 head">
            <div class="float-right">
                <a href="javascript:void(0);" class="btn btn-success" onclick="formToggle('importFrm');"><i class="plus"></i> Import</a>
            </div>
        </div>
        
        <!-- File upload form -->
        <div class="col-md-12" id="importFrm" style="display: none;">
            <form action="<?php echo base_url('members/import'); ?>" method="post" enctype="multipart/form-data">
                <input type="file" name="file" />
                <input type="submit" class="btn btn-primary" name="importSubmit" value="IMPORT">
            </form>
        </div>
       
        <!-- Data list table -->
        <table class="table table-striped table-bordered">
            <thead class="thead-dark">
                <tr>
                    <th>#ID</th>
                    <th>Kode Satker</th>
                    <th>Nama Satker</th>
                </tr>
            </thead>
            <tbody>
                <?php if(!empty($members)){ foreach($members as $row){ ?>
                <tr>
                    <td><?php echo $row['id']; ?></td>
                    <td><?php echo $row['kode']; ?></td>
                    <td><?php echo $row['satker']; ?></td>
                </tr>
                <?php } }else{ ?>
                <tr><td colspan="5">No member(s) found...</td></tr>
                <?php } ?>
            </tbody>
        </table>
    </div>
</div>

<script>
function formToggle(ID){
    var element = document.getElementById(ID);
    if(element.style.display === "none"){
        element.style.display = "block";
    }else{
        element.style.display = "none";
    }
}
</script>
Reply


Messages In This Thread
A PHP Error was encountered Severity: Notice Message: Undefined index: Satker - by alazhar.faiz - 10-14-2019, 04:36 AM



Theme © iAndrew 2016 - Forum software by © MyBB