表单验证始终返回假值,甚至不进行验证

时间:2019-01-08 07:33:21

标签: codeigniter-3 codeigniter-form-validation

我尝试了所有已知的解决问题的方法。但是form_validation仍然无法正常工作。

与codeigniter一起进行表单验证,尝试删除if else并运行验证,但是它不是在验证表单并输入值时不进行检查。

home controller.php

function __construct()
    {
        parent::__construct();
        $this->load->model('home_model');
        $this->load->database();
        $this->load->helper('url','form');
        $this->load->library('form_validation');
    }

public function register(
 {  if ($this->input->post('reg_button'))
    { $this->form_validation->set_message('vaild_email', 'Please enter a valid email id');

$this->form_validation->set_rules('reg_fname', 'First Name', 'trim|required|min_length[3]|max_length[20]');

$this->form_validation->set_rules('reg_lname', 'Last Name', 'trim|required|min_length[3]|max_length[20]');

$this->form_validation->set_rules('reg_email', 'Email', 'required|vaild_email|is_unique[users.email]');

$this->form_validation->set_rules('reg_email2', 'Confirm Email', 'required|vaild_email|matches[reg_email]');

$this->form_validation->set_rules('reg_password', 'Password', 'trim|required|min_length[5]|max_length[20]');

$this->form_validation->set_rules('reg_password2', ' Confirm Password', 'trim|required|matches[reg_password]');

if ($this->form_validation->run() == FALSE)
                {
                     echo "<script>window.alert('Oops! Error!')</script>";
                }
                else
                {       

    $reg_fname = $this->input->post('reg_fname');
    $reg_lname = $this->input->post('reg_lname');
        $reg_email = $this->input->post('reg_email');
    $reg_email2 = $this->input->post('reg_email2');
    $reg_password = $this->input->post('reg_password');
    $reg_password2 = $this->input->post('reg_password2');
    $user_type = $this->input->post('user_type');

    $result = $this->home_model->insert_data($reg_fname, $reg_lname, $reg_email, $reg_password, $user_type);

            redirect('dashboard_controller', refresh);
`enter code here`           }    
        }   
    }

homemodel.php

   class Home_model extends CI_Model{

        function __construct()
        {
            parent::__construct();

            $this->db = $this->load->database('default', true);

        }

    function insert_data($reg_fname, $reg_lname, $reg_email, $reg_password, $user_type){


                $qry = "INSERT INTO users VALUES ('','$reg_fname','$reg_lname','$reg_email','$reg_password','$user_type')";
               $this ->db->query($qry);


            }

homeview.php

<form action="<?php echo base_url().'home_controller/login' ?>" method="post" autocomplete="off">

                                 <div class="form-group"> 

                                     <input type="email" class="form-control" name="log_email" placeholder ="Email" required >
                                </div>


                                 <div class="form-group">

                                        <input type="password" class="form-control" name = "log_password" placeholder = "Password">
                                    </div>
                                    <a href="forget.php" id="forgot" class="forgot">Forget Password?</a>

                                  <br>
                                  <input type="submit" class="btn btn-primary btn-block mt-1" value="Login" name = "login_button">

                                    <br>                                                
                                     <a href="#" id="signup" class="signup">Need an account? Register here!</a>

                             </form>

1 个答案:

答案 0 :(得分:0)

更改      回声“ window.alert('糟糕!错误!')”; 到

echo validation_errors();
EXIT;

并查看验证错误..为什么为false。