0

在 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');
        }

    }

我创建了表“登录”,其中包含用户名和密码字段。

我需要使用数据库和数据库查询来验证它。任何人都可以帮助我在控制器文件和视图页面中所做的所有更改以完成此操作。?

4

1 回答 1

1

form validation先来学习CIhttp://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(); ?>
于 2013-10-23T12:47:36.583 回答