Php 什么阻止数据插入CI?

Php 什么阻止数据插入CI?,php,codeigniter,insert,Php,Codeigniter,Insert,我已经用数据库连接设置了CI框架,将其自动加载并创建了一个表单,但仍然没有向数据库中插入任何内容 我尝试过使用对象(类)和不同的方法在数组中传递信息 if(isset($\u POST['register-submit'])){ $this->load->model('Registermodel'); $this->load->library('form_validation'); $this->form_validation->set_规则('register-username','usern

我已经用数据库连接设置了CI框架,将其自动加载并创建了一个表单,但仍然没有向数据库中插入任何内容

我尝试过使用对象(类)和不同的方法在数组中传递信息

if(isset($\u POST['register-submit'])){
$this->load->model('Registermodel');
$this->load->library('form_validation');
$this->form_validation->set_规则('register-username','username','required');
$this->form_validation->set_规则('register-password','password','required | min_length[6]);
$this->form_validation->set_规则('register-password-repeat','confirm passphrase','required | min_length[6]|匹配[register password]);
$this->form_validation->set_规则('register-pin','pin','required | regex_match[/^[0-9]{6}$/');
//如果表单验证成功
如果($this->form\u validation->run()==TRUE){
echo“已成功注册!”;
//将用户添加到数据库
$data=数组(
'ci_useruniqid'=>$\u POST['register-uniqid'],
'ci_userdate'=>$\u POST['register-date'],
'ci_useruid'=>$\u POST['register-username'],
'ci_userpwd'=>密码\u散列($\u POST['register-password'],密码\u默认值),
'ci_usermnemonic'=>$\u POST['register-mnemonic'],
'ci_usercurrentaddress'=>$\u POST['register-address'],
'ci_useraccount'=>$\u POST['register-account'],
“ci_useraccountbalance”=>$\u POST['register-account-balance'],
'ci_userpin'=>$\u POST['register-pin'],
'ci_userstatus'=>$\u POST['register-status'],
'ci_usertype'=>$\u POST['register-type'],
'ci_userinfo'=>$\u POST['register-info'],
'ci_userpgp'=>$\u POST['register-pgp'],
'ci_usercurrency'=>$\u POST['register-currency']
);
$this->RegisterModel->adduser($data);
重定向(“AuthController/loginview”、“刷新”);
}
我期望发生的事情是将数据(如上所示)插入数据库中。我的实际结果是没有响应,甚至像在if语句中回显某个内容这样简单

我的表格结构:

ci_userid   int(11)
ci_useruniqid   
ci_userdate date
ci_useruid  
ci_userpwd  
ci_usermnemonic 
ci_usercurrentaddress   
ci_useraccount  
ci_useraccountbalance   decimal(12,8)
ci_userpin  
ci_userstatus   
ci_usertype 
ci_userinfo 
ci_userpgp  
ci_usercurrency
其余为文本,以下是我的
adduser
型号:

  public function adduser($data) {



$insert = $this->db->insert('users', $data);

  }

由于这篇文章太长,无法发表评论,我将向您提供我的准答案,这将帮助您进行调试

echo 'hello world <br><pre>';
        print_r($_POST);

        if (isset($_POST['register-submit'])) {

            $this->load->model('Registermodel');
            $this->load->library('form_validation');
            $this->form_validation->set_rules('register-username', 'Username', 'required');
            $this->form_validation->set_rules('register-password', 'Password', 'required|min_length[6]');
            $this->form_validation->set_rules('register-password-repeat', 'confirm passphrase', 'required|min_length[6]|matches[register-password]');
            $this->form_validation->set_rules('register-pin', 'pin', 'required|regex_match[/^[0-9]{6}$/]');

//If form validation was successful
            if ($this->form_validation->run() == TRUE) {

                echo 'successfully registered!';

//Add user to database
                $data = array(
                    'ci_useruniqid' => $_POST['register-uniqid'],
                    'ci_userdate' => $_POST['register-date'],
                    'ci_useruid' => $_POST['register-username'],
                    'ci_userpwd' => password_hash($_POST['register-password'], PASSWORD_DEFAULT),
                    'ci_usermnemonic' => $_POST['register-mnemonic'],
                    'ci_usercurrentaddress' => $_POST['register-address'],
                    'ci_useraccount' => $_POST['register-account'],
                    'ci_useraccountbalance' => $_POST['register-account-balance'],
                    'ci_userpin' => $_POST['register-pin'],
                    'ci_userstatus' => $_POST['register-status'],
                    'ci_usertype' => $_POST['register-type'],
                    'ci_userinfo' => $_POST['register-info'],
                    'ci_userpgp' => $_POST['register-pgp'],
                    'ci_usercurrency' => $_POST['register-currency']
                );
                $this->RegisterModel->adduser($data);
                echo 'success';
                //redirect("AuthController/loginview", "refresh");
            } else {
                echo validation_errors();
            }
        } else {
            echo 'register-submit... well... does not exist';
        }
echo“你好,世界
”; 打印(邮政美元); 如果(isset($_POST['register-submit'])){ $this->load->model('Registermodel'); $this->load->library('form_validation'); $this->form_validation->set_规则('register-username','username','required'); $this->form_validation->set_规则('register-password','password','required | min_length[6]); $this->form_validation->set_规则('register-password-repeat','confirm passphrase','required | min_length[6]|匹配[register password]); $this->form_validation->set_规则('register-pin','pin','required | regex_match[/^[0-9]{6}$/'); //如果表单验证成功 如果($this->form\u validation->run()==TRUE){ echo“已成功注册!”; //将用户添加到数据库 $data=数组( 'ci_useruniqid'=>$\u POST['register-uniqid'], 'ci_userdate'=>$\u POST['register-date'], 'ci_useruid'=>$\u POST['register-username'], 'ci_userpwd'=>密码\u散列($\u POST['register-password'],密码\u默认值), 'ci_usermnemonic'=>$\u POST['register-mnemonic'], 'ci_usercurrentaddress'=>$\u POST['register-address'], 'ci_useraccount'=>$\u POST['register-account'], “ci_useraccountbalance”=>$\u POST['register-account-balance'], 'ci_userpin'=>$\u POST['register-pin'], 'ci_userstatus'=>$\u POST['register-status'], 'ci_usertype'=>$\u POST['register-type'], 'ci_userinfo'=>$\u POST['register-info'], 'ci_userpgp'=>$\u POST['register-pgp'], 'ci_usercurrency'=>$\u POST['register-currency'] ); $this->RegisterModel->adduser($data); 呼应"成功",; //重定向(“AuthController/loginview”、“刷新”); }否则{ 回显验证_错误(); } }否则{ echo“注册提交……嗯……不存在”; }
请注意,使用
$this->input->post('somename');
处理所有
$\u post
内容。例如,假设
注册uniqid
不存在(表单验证不会捕获它,因为它不是必需的),您将得到一个未定义的索引错误;因此您必须执行
isset($\u post['register-uniqid'])?$\u post['register-uniqid']:null
$this->input->post()
为您执行该逻辑


现在,即使您进行了此修复,如果
寄存器uniqid
是绝对关键的(不能为null)然后确保表单验证包含一个必需的字段。即使您可能有一些隐藏字段,但这并不意味着用户不能删除它们,如果他们愿意的话,并在该db列中发布空值。我建议完全放弃隐藏字段,并将任何与用户无关的输入编码到此控制器或模型中。

,因为这对于co来说太长了嗯,我给你我的准答案,这将帮助你调试

echo 'hello world <br><pre>';
        print_r($_POST);

        if (isset($_POST['register-submit'])) {

            $this->load->model('Registermodel');
            $this->load->library('form_validation');
            $this->form_validation->set_rules('register-username', 'Username', 'required');
            $this->form_validation->set_rules('register-password', 'Password', 'required|min_length[6]');
            $this->form_validation->set_rules('register-password-repeat', 'confirm passphrase', 'required|min_length[6]|matches[register-password]');
            $this->form_validation->set_rules('register-pin', 'pin', 'required|regex_match[/^[0-9]{6}$/]');

//If form validation was successful
            if ($this->form_validation->run() == TRUE) {

                echo 'successfully registered!';

//Add user to database
                $data = array(
                    'ci_useruniqid' => $_POST['register-uniqid'],
                    'ci_userdate' => $_POST['register-date'],
                    'ci_useruid' => $_POST['register-username'],
                    'ci_userpwd' => password_hash($_POST['register-password'], PASSWORD_DEFAULT),
                    'ci_usermnemonic' => $_POST['register-mnemonic'],
                    'ci_usercurrentaddress' => $_POST['register-address'],
                    'ci_useraccount' => $_POST['register-account'],
                    'ci_useraccountbalance' => $_POST['register-account-balance'],
                    'ci_userpin' => $_POST['register-pin'],
                    'ci_userstatus' => $_POST['register-status'],
                    'ci_usertype' => $_POST['register-type'],
                    'ci_userinfo' => $_POST['register-info'],
                    'ci_userpgp' => $_POST['register-pgp'],
                    'ci_usercurrency' => $_POST['register-currency']
                );
                $this->RegisterModel->adduser($data);
                echo 'success';
                //redirect("AuthController/loginview", "refresh");
            } else {
                echo validation_errors();
            }
        } else {
            echo 'register-submit... well... does not exist';
        }
echo“你好,世界
”; 打印(邮政美元); 如果(isset($_POST['register-submit'])){ $this->load->model('Registermodel'); $this->load->library('form_validation'); $this->form_validation->set_规则('register-username','username','required'); $this->form_validation->set_规则('register-password','password','required | min_length[6]); $this->form_validation->set_规则('register-password-repeat','confirm passphrase','required | min_length[6]|匹配[register password]); $this->form_validation->set_规则('register-pin','pin','required | regex_match[/^[0-9]{6}$/'); //如果