-3

我想像 Google 一样验证我的登录表单。

先查用户名再查密码;如果两者都为空,则用户名框上只有一个错误。

在 CodeInginter 中,如果两者都是空的,它会打印每个字段是必需的消息。

我们可以用 CodeIgnightor 轻松模仿这个功能吗?

4

2 回答 2

0

像这样试试

   $this->form_validation->set_rules('email', 'Email', 'required');

   if ($this->form_validation->run() == FALSE){

    $this->load->view('myform');

   }else{
     $this->form_validation->set_rules('passconf', 'Password Confirmation', 'required');
     if($this->form_validation->run() == FALSE){
       $this->load->view('myform');
     }
     $this->load->view('formsuccess');
   }
于 2012-12-19T10:54:28.523 回答
0

you need to research before you post some question. These kind of information available in codeIgniter user guide. Any way i am providing simple example.

View file: login.php

   <form action="<?php echo ROOT_FOLDER ?>/controller_name/post_login" method="post" >
                    <p>
                        <label>Email:</label> <?php echo form_error('email'); ?><br />
                        <input type="text" class="text" name="email" value="<?php echo set_value('email'); ?>" />
                    </p>

                    <p>
                        <label>Password:</label> <?php echo form_error('passwd'); ?><br />
                        <input type="password" name="passwd" class="text" value="" />
                    </p>

                    <p>
                        <input type="submit"  class="submit" value="Login" />                               

                    </p>
    </form>

Controller function which is written in controller file..........

 public function post_login()
    {

        $error_in_validation=set_form_validation($this->config->item('login_form'));

        if($error_in_validation){
            show_form_validation_error('controller_file_name/login');
        }
        else
        {
            $email=$this->input->post('email');
            $passwd=$this->input->post('passwd');
            $ret=$this->model_file_name->user_login($email, $passwd);

            if($ret == NULL){

                $model=array();
                $model['error_msg']=$this->config->item('login_form_error_code_1');;
                $this->load->view('controller_file_name/login',$model);             
            } else {
                redirect("ro_manager/home");
            }

        }

    }

After this you need to create you need to create a file name called form_validation in config folder. In that you need to write the validation rules as per user guide.

     $config['login_form'] = array (
                        array 
                        (
                            'key' => 'email', 
                            'value' => 'Email',
                            'rule' => 'trim|required|valid_email|xss_clean'
                        ),
                        array
                        (
                            'key' => 'passwd', 
                            'value' => 'Password',
                            'rule' => 'trim|required|alpha_numeric|xss_clean'
                        )
                      );
于 2012-12-19T10:20:35.967 回答