Database 使用CodeIgniter添加用户
首先,我是新来的,我真的不知道如何使用codeigniter,现在我很困惑。因此,我目前正在尝试使用codeigniter向数据库添加数据。当我单击submit按钮时,没有显示任何内容,然后我检查了我的数据库,没有添加任何记录。你们能帮帮我吗 控制器:Database 使用CodeIgniter添加用户,database,codeigniter,add,Database,Codeigniter,Add,首先,我是新来的,我真的不知道如何使用codeigniter,现在我很困惑。因此,我目前正在尝试使用codeigniter向数据库添加数据。当我单击submit按钮时,没有显示任何内容,然后我检查了我的数据库,没有添加任何记录。你们能帮帮我吗 控制器: <?php defined('BASEPATH') OR exit('No direct script access allowed'); class M_users extends CI_Controller { pu
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class M_users extends CI_Controller {
public function index()
{
if ($this->session->userdata('is_logged_in')){
$this->load->helper('breadcrumb_helper');
$this->load->view('imports/head');
$this->load->view('header');
$this->load->view('musers');
$this->load->view('imports/footer');
} else {
redirect('home/restricted');
}
}
/* display users */
public function getuser(){
$this->load->model('model_emp');
$this->data['emp'] = $this->model_emp->get_allus();
$this->load->view('getuser',$this->data);
}
/* add users */
public function adduser(){
$this->load->library('form_validation');
$this->load->helper('security');
$this->form_validation->set_rules('username','Username','required|min_length[4]|trim|callback_users_exist|xss_clean');
$this->form_validation->set_rules('password','Password','trim|required|min_length[6]|max_length[50]|matches[password_conf]|md5|trim|xss_clean');
$this->form_validation->set_rules('password_conf','Confirmed Password','trim|required|min_length[6]|max_length[50]|matches[password_conf]|md5|trim|xss_clean');
$this->form_validation->set_rules('firstname','Firstname','trim|required|xss_clean');
$this->form_validation->set_rules('middlename','Middlename','trim|required|xss_clean');
$this->form_validation->set_rules('lastname','Lastname','trim|required|xss_clean');
$this->form_validation->set_rules('screenname','Screenname','trim|required|xss_clean');
$this->form_validation->set_rules('gender','Gender','trim|required');
$this->form_validation->set_rules('position','Position','trim|required');
if($this->form_validation->run()){
$this->load->model('model_emp');
$result=$this->model_emp->addusers();
if(!$result){
echo mysqli_error($result);
}else{
echo "<div class='alert alert-success alert-dismissable'>
<button type='button' class='close' data-dismiss='alert' aria-hidden='true'>×</button>Successfully Added</div>";
}
}
echo validation_errors("<div class='alert alert-danger alert-dismissable'><button type='button' class='close' data-dismiss='alert' aria-hidden='true'>×</button>","</div>");
}
/*edit assets */
/* users exists */
public function users_exists()
{
$this->load->model('model_emp');
if ($this->model_emp->users_exists())
{
return true;
} else
{
$this->form_validation->set_message('users_exists','User Already Existed.');
return false;
}
}
}
以下是示例代码,您可以从中了解控制器控制您的应用程序逻辑模型执行与数据库相关的操作,查看您的网页
控制器:user.php
function registration()
{
$this->load->library('form_validation');
$this->form_validation->set_rules(array(
array(
'field' => 'username',
'label' => 'Username',
'rules' => 'trim|required'
),
array(
'field' => 'password',
'label' => 'Password',
'rules' => 'trim|required'
)
));
if(!$this->form_validation->run())
{
$this->load->view('registration_view');
}
else
{
$this->load->model('user_model');
$user = new users_model();
$user->username = $this->input->post('username');
$user->password = $this->input->post('password');
$user->save();
}
}
<form action="<?php echo site_url('user/registration'); ?>" method="post">
<input type="text" name="username" value="<?php echo set_value('username'); ?>" />
<input type="password" name="password" value="<?php echo set_value('password'); ?>" />
<input type="submit" name="submit" value="submit"/>
</form>
public $username;
public $password;
public function save()
{
$data = array(
'username' => $this->username,
'password' => $this->password
);
$this->db->insert('table-name', $data);
}
查看:registration\u form.php
function registration()
{
$this->load->library('form_validation');
$this->form_validation->set_rules(array(
array(
'field' => 'username',
'label' => 'Username',
'rules' => 'trim|required'
),
array(
'field' => 'password',
'label' => 'Password',
'rules' => 'trim|required'
)
));
if(!$this->form_validation->run())
{
$this->load->view('registration_view');
}
else
{
$this->load->model('user_model');
$user = new users_model();
$user->username = $this->input->post('username');
$user->password = $this->input->post('password');
$user->save();
}
}
<form action="<?php echo site_url('user/registration'); ?>" method="post">
<input type="text" name="username" value="<?php echo set_value('username'); ?>" />
<input type="password" name="password" value="<?php echo set_value('password'); ?>" />
<input type="submit" name="submit" value="submit"/>
</form>
public $username;
public $password;
public function save()
{
$data = array(
'username' => $this->username,
'password' => $this->password
);
$this->db->insert('table-name', $data);
}
如果我是对的,那是因为你的控制器应该包含来自视图的post值
$username = $this->input->post('Username')
您应该包括所有字段,以便表单验证工作,否则它将抛出错误(可能是空白页)
所以,不是你对你的模型做了什么。它应该看起来像这样
public function addusers($username, $email, $password, $emp_name, $position, $emp_pic){
$data = array(
'username' => $username ,
'email' => $email ,
'password' => $password,
'emp_name' => $emp_name,
'position' => $position,
'emp_pic' => path_to_your_employee_pic
);
$this->db->insert('employee', $data);
}
使用从控制器传递的参数
$this->model_emp->addusers($username, $email, $password, $emp_name, $position, $emp_pic);
在控制器中对adduser()进行一些更改
公共函数adduser(){
$this->load->library('form_validation');
$this->load->helper('security');
$this->form_validation->set_rules('username'、'username'、'required | min_length[4]| trim | callback | users | exist | xss_clean');
$this->form_validation->set_rules('password'、'password'、'trim | required |最小长度[6]|最大长度[50]|匹配[password_conf]| md5 | trim | xss| clean');
$this->form_validation->set_rules('password_conf'、'confirm password'、'trim | required |最小长度[6]|最大长度[50]|匹配[password_conf]| md5 | trim | xss| clean');
$this->form_validation->set_规则('firstname','firstname','trim | required | xss_clean');
$this->form_validation->set_规则('middlename'、'middlename'、'trim | required | xss_clean');
$this->form_validation->set_规则('lastname'、'lastname'、'trim | required | xss_clean');
$this->form_validation->set_规则('screenname'、'screenname'、'trim | required | xss_clean');
$this->form_validation->set_规则('gender'、'gender'、'trim | required');
$this->form_validation->set_规则('position'、'position'、'trim | required');
如果($this->form\u validation->run()){
$this->load->model('model_emp');
$data=数组(
'username'=>this->input->post('username'),
'password'=>this->input->post('password'),
'firstname'=>this->input->post('firstname'),
“middlename”=>$this->input->post('middlename'),
'lastname'=>this->input->post('lastname'),
'screenname'=>$this->input->post('screenname'),
“性别”=>$this->input->post('gender'),
'position'=>this->input->post('position'),
);
$result=$this->model\u emp->addusers($data);
如果(!$result){
echo mysqli_错误($result);
}否则{
回声“
×成功添加“;
}
}
回波验证错误(“×”,“);
}
仅发布相关代码,而不是所有代码。并请添加您收到的错误消息或响应。创建视图注册\u form.php在控制器/方法中添加html表单action=“”,使用$this->input->post('form-field-name')获取post值;并将post值指定给模型属性,并在模型中创建一个保存方法,该方法将属性保存到数据库中。这就是我希望它能帮助你的主要逻辑。@MasoodRehman非常感谢你。如果它有效的话,我会选择这个:)