我正在做一项家庭作业,要求用户创建一个帐户并需要用户名和密码。我正在使用is_unique [users.user_name]仅保存唯一的用户名,但无法通过验证。我不断收到“ USERNAME字段必须包含唯一值。”错误消息。
<?php
class Register extends CI_Controller{
public function __construct(){
parent::__construct();
}
public function index(){
$data['title'] = 'Register';
$this->load->view('register', $data);
}
public function verify(){
$this->form_validation->set_rules('txtfname', 'FIRST NAME', 'required|trim');
$this->form_validation->set_rules('txtlname', 'LAST NAME', 'required|trim');
$this->form_validation->set_rules('txtmname', 'MIDDLE NAME', 'required|trim');
$this->form_validation->set_rules('txtgender', 'GENDER', 'required');
$this->form_validation->set_rules('txtbday', 'BIRTHDAY', 'required');
$this->form_validation->set_rules('txtcountry', 'COUNTRY', 'required|trim');
$this->form_validation->set_rules('txthouse_no', 'FLOOR / DEPT / BUILDING / HOUSE NO', 'required|trim');
$this->form_validation->set_rules('txtstreet', 'STREET', 'required|trim');
$this->form_validation->set_rules('txtcity_province', 'CITY / PROVINCE', 'required|trim');
$this->form_validation->set_rules('txtpostal_code', 'POSTAL CODE', 'required|trim');
$this->form_validation->set_rules('txtphone', 'PHONE', 'required|trim');
$this->form_validation->set_rules('txtemail', 'E-MAIL ADDRESS', 'required|trim|valid_email');
$this->form_validation->set_rules('txtuser', 'USERNAME', 'required|trim|is_unique[users.user_name]');
$this->form_validation->set_rules('txtpass', 'PASSWORD', 'required');
$this->form_validation->set_rules('txtrepass', 'RE-TYPE ADDRESS', 'required|matches[txtpass]');
if($this->form_validation->run() === TRUE){
$this->load->model('register_model');
$isRegistered = $this->register_model->register();
if($isRegistered){
$data['title'] = 'Registration Successful';
$data['message'] = 'Please check your email to activate your account.';
} else {
$data['title'] = 'Registration Failed';
$data['message'] = 'Something went wrong. Please try again later.';
}
$this->load->view('registration_message', $data);
} else {
$this->index();
}
}
}
?>
<?php
class register_model extends CI_Model{
public function construct(){
parent::__construct();
$this->load->database();
}
public function register(){
$personal_info = array(
'cust_lname' => $this->input->post('txtlname'),
'cust_fname' => $this->input->post('txtfname'),
'cust_mname' => $this->input->post('txtmname'),
'cust_bday' => $this->input->post('txtbday'),
'cust_gender' => $this->input->post('txtgender'),
'cust_country' => $this->input->post('txtcountry'),
'cust_house_no' => $this->input->post('txthouse_no'),
'cust_street' => $this->input->post('txtstreet'),
'cust_area' => $this->input->post('txtarea'),
'cust_city_province' => $this->input->post('txtcity_province'),
'cust_postal_code' => $this->input->post('txtpostal_code'),
'cust_phone' => $this->input->post('txtphone'),
'cust_email' => $this->input->post('txtemail'),
'cust_dateRegistered' => date('Y-m-d H:i:s'),
);
$isCustomer_added = $this->db->insert('customers', $personal_info);
$userAccess_info = array(
'user_name' => $this->input->post('txtuser'),
'user_pass' => md5($this->input->post('txtpass')),
'user_lvl' => 2,
'cust_id' => $this->db->insert_id(),
'isApproved' => 0
);
$isUser_added = $this->db->insert('users', $userAccess_info);
if($isCustomer_added && $isUser_added){
return true;
} else {
return false;
}
}
}
?>
我希望将用户信息保存在数据库中,但是我一直在获取“ USERNAME字段必须包含唯一值”。验证错误消息。