【发布时间】:2017-01-30 08:48:07
【问题描述】:
我是codeigniter 的新手,我不明白为什么我的form_validation 一直返回false。这是我的代码:
登录控制器
class Login extends CI_Controller {
function __construct()
{
parent::__construct();
$this->load->helper(array('form','url'));
$this->load->library('form_validation');
$this->load->library('session');
$this->load->model('user','',TRUE);
}
function index()
{
$this->load->view('login_view');
}
function user_registration_show(){
$this->load->view('registration_view');
}
function user_login_process(){
}
function user_registration_process(){
$this->form_validation->set_rules('fname', 'First Name', 'trim|required|xss_clean');
$this->form_validation->set_rules('lname', 'Last Name', 'trim|required|xss_clean');
$this->form_validation->set_rules('gender', 'Gender', 'trim|required|xss_clean');
$this->form_validation->set_rules('address', 'Address', 'trim|required|xss_clean');
$this->form_validation->set_rules('emailadd', 'Email Address', 'trim|required|xss_clean');
$this->form_validation->set_rules('username', 'Username', 'trim|required|xss_clean');
$this->form_validation->set_rules('password', 'Password', 'trim|required|xss_clean');
$this->form_validation->set_rules('password1', 'Re-type Password', 'trim|required|xss_clean');
if ($this->form_validation->run() == FALSE) {
$this->load->view('registration_view');
} else {
$pass = $this->input->post('password');
$pass1 = $this->input->post('password1');
if($pass!=$pass1){
$data['message_display'] = 'Password mismatched!';
}else{
$data = array(
'Fname' => $this->input->post('Fname'),
'Lname' => $this->input->post('Lname'),
'Gender' => $this->input->post('Gender'),
'Address' => $this->input->post('Address'),
'EmailAdd' => $this->input->post('EmailAdd'),
'username' => $this->input->post('username'),
'password' => $this->input->post('password')
);
}
}
}
}
registration_view
<?php echo form_open('login/user_registration_process'); ?>
<div class="content-box-wrapper">
<div class="form-group">
<div class="input-group">
<input type="text" class="form-control" name="fname" placeholder="First Name" >
</div>
</div>
<div class="form-group">
<div class="input-group">
<input type="text" class="form-control" name="lname" placeholder="Last Name" >
</div>
</div>
<div class="form-group">
<div class="input-group">
<select class="form-control" name="gender" >
<option disabled="disabled">Gender</option>
<option value="Male">Male</option>
<option value="Female">Female</option>
</select>
</div>
</div>
<div class="form-group">
<div class="input-group">
<input type="text" class="form-control" name="address" placeholder="Address">
</div>
</div>
<div class="form-group">
<div class="input-group">
<input type="email" class="form-control" name="emailadd" placeholder="Email Address" >
</div>
</div>
<div class="form-group">
<div class="input-group">
<input type="text" class="form-control" name="username" placeholder="Username" >
</div>
</div>
<div class="form-group">
<div class="input-group">
<input type="password" class="form-control" name="password" placeholder="Password" >
</div>
</div>
<div class="form-group">
<div class="input-group">
<input type="password" class="form-control" name="password1" placeholder="Re-type Password" >
</div>
</div>
<input type="submit" class="btn btn-blue-alt btn-block" value="Register"/>
</div>
<?php echo form_close(); ?>
我正在使用 codeigniter 3.1.3。谁能帮帮我?
【问题讨论】:
-
HTML 表单上的其他必填字段(如性别地址等)在哪里?
-
哦,先生,我没有粘贴它,但我在我的原始代码中有它
-
检查表单字段名称应该与'set_rules('name')'匹配。
-
先生,我已经检查过了,但什么也没发生,它总是返回 false。我已经在 html 表单中包含了其他代码
-
@pryxen 使用 xss_clean 你必须加载安全助手谷歌它,你会找到解决方案。
标签: php codeigniter