我是php新手。我的设置是在ubuntu 14.04 LTS上点亮。我已经通过在线教程创建了一个Login系统。我已经在autoload.php
文件中进行了更改
$autoload['libraries'] = array('database', 'form_validation');
$autoload['helper'] = array('url', 'form');
出乎意料的是,当用户名和密码字段都保留为空,并且按下登录按钮时,没有错误(“用户名字段为空” ...)显示。此外,在Mozilla Firefox中,按下按钮后页面保持不变,而在Google Chrome中,页面加载至about:blank。
如果我在问题格式中输入有误,请提供帮助和抱歉。
我的控制器:LoginController.php
<?php
class LoginController extends CI_Controller{
public function index(){
$this->load->view('login');
}
public function checkLogin(){
$this->load->library('form_validation');
$this->form_validation->set_rules('username' , 'Username' , 'required|valid_email');
$this->form_validation->set_rules('password' , 'Password' , 'required|callback_verifyUser');
if($this->form_validation->run() == false){
$this->load->view('login');
}else{
redirect('HomeController/index');
}
}
public function verifyUser(){
$name = $this->input->post('username');
$pass = $this->input->post('password');
$this->load->model('LoginModel');
if($this->LoginModel->login($name, $pass)){
return true;
}
else{
$this->form_validation->set_message('verifyUser', 'Incorrect email or password. Please try again.');
return false;
}
}
}
我的查看文件:login.php
<!DOCTYPE HTML>
<html>
<head>
<title>CI Login System</title>
</head>
<body>
<h1>Login</h1>
<?php echo validation_errors(); ?>
<?php echo form_open('LoginController/checkLogin'); ?>
Username<br/>
<input type="text", name="username"/><br/>
Password<br/>
<input type="text", name="passsword"/><br/>
<input type="submit", value="Login", name="submit"/>
</form>
</body>
</html>
您的错误在于HTML代码中。
Username<br/>
<input type="text", name="username"/><br/>
Password<br/>
<input type="text", name="passsword"/><br/>
<input type="submit", value="Login", name="submit"/>
这是错误的:
您输入的密码名称有误s
,考虑到以下这一行,它有一个多余的地方:
$pass = $this->input->post('password');
测试一下:
<input type="text" placeholder = "Username" name="username" required/><br>
<input type="password" placeholder = "Password" name="password" required/><br>
<input type="submit" value="Login" name="submit"/>
我已经编辑了答案以插入required
属性。
但是兼容性并不像应有的那样巨大:
您还可以使用Javascript表单验证方法
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句