我是网络编程的初学者,所以请多多包涵。
我试图创建一个登录系统来进行这些验证:
- 电子邮件是必需的,并且必须是有效的
- 密码是必需的
- 如果登录失败,我将为用户创建一个跨度
我可以使用 codeigniter 的表单验证轻松完成第一个和第二个。但是,第 3 次并不容易,因为我需要先从数据库中检查它。
所以我尝试创建这样的代码:
function login() {
$data['validation'] = TRUE;
$this->form_validation->set_rules('txt_email', 'Email', 'required|valid_email');
$this->form_validation->set_rules('txt_password', 'Password', 'required');
if($this->form_validation->run() !== FALSE)
{
$log_in = $this->umat_m->log_in($this->input->post('txt_email'), $this->input->post('txt_password'));
if($log_in !== FALSE)
{
$data['validation'] = TRUE;
$_SESSION['username'] = $this->input->post('txt_email');
redirect('backend/umat/index');
}
else
$data['validation'] = FALSE;
}
$this->load->view('backend/login_v', $data);
}
和 HTML:
<?php echo form_submit('btn_submit', 'Log In', 'class = "btn btn-primary"'); ?> <br/>
<?php
if($validation === FALSE)
echo '<span class="label label-important">Wrong Username/Password</span>';
else
echo '<span class="label label-important"><?php echo validation_errors(); ?></span>';
?>
我试图做的是,如果用户已经填写了电子邮件和密码字段但值错误,那么我将回显第一个跨度。
但是,此代码仍然无法正常工作。当用户填写错误的值(但不是空的)时,会回显错误的用户名/密码范围,但是当文本字段为空时,codeigniter 的表单验证不会显示任何消息(这意味着永远不会显示第二个回显)。
任何帮助表示赞赏,如果您需要更多帮助,请询问我。