Php 什么阻止数据插入CI?
我已经用数据库连接设置了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
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}$/');
//如果