Codeigniter: возникла необработанная исключительная ситуация Тип: ArgumentCountError - PullRequest
0 голосов
/ 22 апреля 2020

Я получаю сообщение об ошибке при попытке отредактировать содержимое, когда я нажимаю кнопку «Обновить содержимое», возникает ошибка. Неожиданное исключение. Тип: ArgumentCountError

Сообщение: слишком мало аргументов для функции Dashboard :: contentedit (), 0 передано в /home/muanetor/matematika.muanetoraya.com/system/core/CodeIgniter.php в строке 514 и ровно 1 ожидается

Имя файла: /home/muanetor/matematika.muanetoraya.com/application /controllers/Dashboard.php

Номер строки: 145

Backtrace:

Файл: /home/muanetor/matematika.muanetoraya.com/index.php Строка: 315 Функция: require_once

Контроллер:

function contentedit($id){
        if(isset($_POST['simpan'])){
            if ($_FILES['gambar']['error'] <> 4) {
                $nmfile = "file_".time();
                $config['upload_path']      = './upload/gambar';
                $config['allowed_types']    = 'jpg|png|gif|bmp';
                $config['file_name']        = $nmfile;

                $this->load->library('upload', $config);

                if (!$this->upload->do_upload('gambar')) {
                    $error = array('error' => $this->upload->display_errors());
                    $this->index($error);
                } else {
                    $hasil  = $this->upload->data();
                    $data = array(
                        'judul_content' => $this->input->post('judul',true),
                        'isi_content'   => $this->input->post('isi',true),
                        'kategori'      => $this->input->post('kategori',true),
                        'gambar'        => $hasil['file_name'],
                        'tanggal'       => date("Y-m-d h:i:s"));
                    $this->db->where('id',$this->input->post('id',true));
                    $this->db->update('content',$data);
                    redirect('dashboard/content/'.$this->input->post('kategori',true));
                }
            } else {
                    $data = array(
                        'judul_content' => $this->input->post('judul',true),
                        'isi_content'   => $this->input->post('isi',true),
                        'kategori'      => $this->input->post('kategori',true),
                        'tanggal'       => date("Y-m-d h:i:s"),
                    );
                $this->db->where('id',$this->input->post('id',true));
                $this->db->update('content',$data);
                redirect('dashboard/content/'.$this->input->post('kategori',true));
            }
        }else{
            $data['title'] = 'Modul Halaman';
            $data['record'] = $this->db->get_where('content',array('id'=>$id))->row_array();
            $this->template->load('admin/v_template','admin/v_content_edit',$data);
        }
    }

Contentedit. php

<div class="panel-body">
                                <?php $this->load->view('admin/editor') ?>
                                <?php echo form_open_multipart('dashboard/contentedit') ?>
                                    <div class="form-group">
                                        <label>Judul Content</label>
                                        <input style="width: 50%;" name="judul" type="text" class="form-control" value="<?php echo $record['judul_content'] ?>" required="">
                                        <input name="id" type="hidden" class="form-control" value="<?php echo $record['id'] ?>">
                                        <input name="kategori" type="hidden" class="form-control" value="<?php echo $record['kategori'] ?>">
                                    </div>
                                    <div class="form-group">
                                        <label>Isi Content</label>
                                        <textarea name="isi" class="form-control" rows="6"><?php echo $record['isi_content'] ?></textarea>
                                    </div>
                                    <div class="form-group">
                                        <label>Gambar</label>
                                        <input name="gambar" type="file">
                                        <p class="help-block">jpg | png | gif</p>
                                    </div>
                                    <button name="simpan" type="submit" class="btn btn-primary"><i class="glyphicon glyphicon-send"></i> Update Content</button> | <button type="reset" class="btn btn-danger">Reset</button>
                                </form>
                            </div>
                            <!-- /.panel-body -->
                        </div>
                    </div>
                </div>

1 Ответ

0 голосов
/ 22 апреля 2020

Полагаю, эта ошибка возникает только при попытке доступа к контроллеру без аргументов, подобных

http://matematika.muanetoraya.com/index.php/dashboard/contentedit

Если вы обращаетесь к контроллеру, как показано ниже, не должно быть ошибки

http://matematika.muanetoraya.com/index.php/dashboard/contentedit/2

Вы можете исправить это, установив значение по умолчанию $id

public function contentedit($id = -1){
    if($id != -1){
         //put your code here
    }else{
        show_404();
    }
}
...