#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. Как, черт возьми, это могло бы помочь с проверкой формы?