在CodeIgniter中,我设计了一个页面,其中有一个登录表单和一个简单的主页。 验证我只进行了客户端验证。
查看login.php: -
<form name="login" id="login" action="<?php echo base_url() ?>login/success" onsubmit="return validatelogin()" method="post">
... HTML
<input type="text" id="username" name="username" />
<input type="password" id="passwrd" name="passwrd">
在视图页面“login.php”中进行Javascript验证,
function validatelogin(){
var x=document.forms["login"]["username"].value;
var y=document.forms["login"]["passwrd"].value;
if (x==null || x=="")
{
alert("First name must be filled out");
return false;
}
if (y==null || y=="")
{
alert("Password field must be filled out");
return false;
}
if(x!="monisha" && y!="monisha"){
alert("Username and Password incorrect");
return false;
}
return true;
}
控制器 - login.php: -
class Login extends CI_Controller {
function __construct() {
parent::__construct();
$this->load->helper('url');
$this->load->library('session');
}
function index(){
$this->load->view('login');
}
function success() {
$data = array('username' => "monisha");
$this->session->set_userdata($data);
redirect ('home');
}
}
我创建了表“login”,它有用户名和密码字段。
我需要使用数据库和数据库查询来验证它。任何人都可以帮助我完成我在控制器文件和视图页面中所做的所有更改,以完成此操作。
答案 0 :(得分:1)
首先在form validation
中了解CI
! http://ellislab.com/codeigniter/user-guide/libraries/form_validation.html
你需要相应地改变它。
在控制器中:
$this->load->helper(array('form')); #no need to do this if already loaded
$this->load->library('form_validation');
$this->form_validation->set_rules('username', 'Username', 'required||is_unique[table_name.column_name]');
$this->form_validation->set_rules('passwrd', 'Password', 'required');
if ($this->form_validation->run() == FALSE)
{
$this->load->view('view_name');
}
else
{
redirect('controller/function', 'refresh');
}
在视图页面中:
<?php echo validation_errors(); ?>