codeigniter form_validation не работает, и $this->form_validation-> run() ничего не возвращает

#php #codeigniter #codeigniter-form-validation

#php #codeigniter #codeigniter-form-validation

Вопрос:

Это мой код страницы просмотра

я проверяю проверку формы codeigniter в codeigniter, он копирует и вставляет мой контроллер, но та же ошибка

 <form action="<?php echo base_url(); ?>admin/user_setup/store" method="post" class="ml-4 mr-4 mt-2" enctype="multipart/form-data">
                <div class="row">
                      <div class="col-lg-3 col-md-6 col-sm-12">
                          <div class="form-group form__group">
                              <input type="text" name="firstname" id="firstname" placeholder="নাম" class="form-control form__field" required>
                              <label for="firstname" class="form__label">নাম  </label>
                          </div>
                      </div>
                      <div class="col-lg-3 col-md-6 col-sm-12">
                          <div class="form-group form__group">
                              <input type="text" name="username" id="username" placeholder="ইউজার নাম" class="form-control form__field" required>
                              <label for="username" class="form__label">ইউজার নাম  </label>
                          </div>
                      </div>
                      <div class="col-lg-3 col-md-6 col-sm-12">
                          <div class="form-group form__group">
                              <input type="text" name="email" id="email" placeholder="ই-মেইল" class="form-control form__field" required>
                              <label for="email" class="form__label">ই-মেইল  </label>
                          </div>
                      </div>
                      <div class="col-lg-3 col-md-6 col-sm-12">
                          <div class="form-group form__group">
                              <select name="activated" id="activated" class="form-control form__field" >
                                <option value="1">Active</option>
                                <option value="0">Inactive</option>
                              </select>
                              <label for="activated" class="form__label">অ্যাক্টিভেটেড</label>
                          </div>
                      </div>
                      <div class="col-lg-3 col-md-6 col-sm-12">
                          <div class="form-group form__group">
                              <input type="password" name="password" id="password" placeholder="পাসওয়ার্ড" class="form-control form__field" required>
                              <label for="password" class="form__label">পাসওয়ার্ড</label>
                          </div>
                      </div>
                      <div class="col-lg-3 col-md-6 col-sm-12">
                          <div class="form-group form__group">
                              <input type="password" name="confirm_password" id="confirm_password" placeholder="কন্ফার্ম পাসওয়ার্ড" class="form-control form__field" required>
                              <label for="confirm_password" class="form__label">কন্ফার্ম পাসওয়ার্ড</label>
                          </div>
                      </div>
                      <div class="col-lg-2 col-md-6 col-sm-12">
                          <div class="form-group form__group">
                              <label for="logo" class="form__label">ছবি </label>
                              <input type="file" name="logo" id="logo" placeholder="ছবি" class="form-control form__field" rows="2" cols="2" style="height: 38px;"></input>
                          </div>
                      </div>
                      <div class="col-lg-2 col-md-6 col-sm-12">
                          <div class="form-group form__group">
                              <select name="type" id="type" class="form-control form__field" >
                                    <option value="2">এডিটর</option>
                                    <option value="3">লাইসেন্স অফিসার</option>
                              </select>
                              <label for="type" class="form__label">ইউজার টাইপ</label>
                          </div>
                      </div>
                      <div class="col-lg-2 col-md-6 col-sm-12">
                          <div class="form-group">
                              <input type="submit" value="তৈরি করুন"  class="form-control btn btn-sm btn-primary mt-fl">
                          </div>
                      </div>
                  </div>
            </form>
  

это мой код контроллера

   $this->form_validation->set_rules('username', 'Username', 'trim|required|xss_clean|min_length[6]|max_length[100]|alpha_dash');
            $this->form_validation->set_rules('firstname', 'First Name', 'trim|required|xss_clean|min_length[6]|max_length[100]|alpha_dash');
            $this->form_validation->set_rules('email', 'Email', 'trim|required|xss_clean|valid_email');
            $this->form_validation->set_rules('password', 'Password', 'trim|required|xss_clean|minlength[6]|max_length[50]|alpha_dash');
            $this->form_validation->set_rules('confirm_password', 'Confirm Password', 'trim|required|xss_clean|matches[password]');
    
            $data['errors'] = array();
            echo $this->form_validation->set_value('username');
    
            echo  $this->input->post('username');
    
            if ($this->form_validation->run()) {
    
                $data['username']    = $this->form_validation->set_value('username');
                $data['firstname']   = $this->form_validation->set_value('firstname');
                $data['email']       = $this->form_validation->set_value('email');
                $data['password']    = $this->form_validation->set_value('password');
                $data['created']     = date('Y-m-d H:i:s');
                $data['activated']   = $this->input->post('activated');
                $data['type']        = $this->input->post('type');
                
                $insert_id = $this->web_model->insert('users', $data);
                var_dump("asduasiduiasdijasidij");
            } else {    
                $errors = $this->tank_auth->get_error_message();
                
                foreach ($errors as $k => $v)   $data['errors'][$k] = $this->lang->line($v);
                // $this->render_page('admin/setup/user_setup/create', $data);
                echo $this->form_validation->run();
                var_dump($data['errors']);
            }
  

проверка формы ничего не возвращает и $this->form_validation->set_value('any'); всегда остается пустой

Я загружаю form_validation в controller __construct, а также проверяю внутреннюю функцию загрузки, но ошибка абсолютна

  $this->load->helper(array('form', 'url'));
 $this->load->library('form_validation');
  

Комментарии:

1. Вы должны использовать $this->input->post('fieldname') для присвоения значения поля переменной. set_value Метод используется для заполнения поля формы в случае сбоя проверки. Тот факт, что run() метод не возвращает ничего (видимого), очень точен, поскольку он возвращает только логическое значение (true / false) в зависимости от прохождения или сбоя проверки

Ответ №1:

Проверьте свой phpMyAdmin, у меня такая же проблема в прошлом месяце, найдите xampp со сборкой в PHP 5.6, ссылка здесь https://sourceforge.net/projects/xampp/files/XAMPP Windows/5.6.40 / , удалите или переименуйте вашу старую Windows(c:)/xammp/ и замените на PHP 5.6

Комментарии:

1. Как, черт возьми, это могло бы помочь с проверкой формы?