Я создал форму в Codeigniter, но не должен отправлять значения в базу данных. Я попытался отладить мой код, повторив «привет» в моем методе, который работает, но фактический метод ничего не передает в базу данных.Форма не отправляется в базу данных с использованием Codeigniter_2.1.4 framework
Это код в моей странице просмотра
<div data-role="content">
<?php echo form_open('index.php/welcome/adduser'); ?>
<div data-role="fieldcontain">
<?php echo validation_errors('<p class="error">','</p>'); ?>
<p>
<label>Firstname: </label>
<?php echo form_input('firstname', set_value('firstname')); ?>
</p>
<p>
<label>Lastname: </label>
<?php echo form_input('lastname', set_value('lastname')); ?>
</p>
<p>
<label>Email: </label>
<?php echo form_input('email', set_value('email')); ?>
</p>
<p>
<label>Age: </label>
<?php echo form_input('age', set_value('age')); ?>
</p>
<p>
<label>username: </label>
<?php echo form_input('username', set_value('username')); ?>
</p>
<p>
<label>Password: </label>
<?php echo form_input('password', set_value('password')); ?>
</p>
<p>
<?php echo form_submit('submit', 'Submit'); ?>
</p>
</div>
Это мой контроллер
<?php
if (!defined('BASEPATH'))
exit('No direct script access allowed');
class Welcome extends CI_Controller {
/** loading services* */
function __construct() {
parent::__construct();
$this->load->database();
$this->load->helper('form');
$this->load->helper('url');
$this->load->library('form_validation');
}
/** loading several pages * */
public function index() {
$this->load->view('abt-header');
$this->load->view('abt-abovetheblues');
$this->load->view('abt-footer');
}
public function adduser() {
if ($this->_adduser_validate() === FALSE) {
$this->index();
return;
}
$data = new user();
$data->firstname = $this->input->post('firstname');
$data->lastname = $this->input->post('lastname');
$data->username = $this->input->post('username');
$data->password = $this->input->post('password');
$data->email = $this->input->post('email');
$data->age = $this->input->post('age');
$this->load->view('#abt-profile');
}
private function _adduser_validate() {
// validation rules
$this->form_validation->set_rules('firstname', 'Firstname', 'required');
$this->form_validation->set_rules('lastname', 'Lastname', 'required');
$this->form_validation->set_rules('username', 'Username', 'required|alpha_numeric|min_length[6]|max_length[12]');
$this->form_validation->set_rules('password', 'Password', 'required|min_length[6]|max_length[12]');
// $this->form_validation->set_rules('passconf', 'Confirm Password', 'required|matches[password]');
$this->form_validation->set_rules('email', 'E-mail', 'required|valid_email');
$this->form_validation->set_rules('age', 'Age', 'required');
return $this->form_validation->run();
}
}
?>
'$ daa',' $ u', где они определены? Где находится метод 'save()'? Я их нигде не вижу. – Ohgodwhy
Вы не создаете модель где-нибудь? Я предполагаю, что вы ожидаете, что '$ u' будет' User_model', а '$ daa' - это typeo? Итак, создайте модель '$ this-> load-> ('User_model', 'u');' в вашем конструкторе. – RiggsFolly
Это была ошибка типографии! Я вставил правильный код .. cheers – Omade