Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Codeigniter中的验证错误_Php_Codeigniter_Validation - Fatal编程技术网

Php Codeigniter中的验证错误

Php Codeigniter中的验证错误,php,codeigniter,validation,Php,Codeigniter,Validation,我可以知道为什么我的insert函数会先显示验证消息,即使我还没有插入任何数据。一旦我进入insert页面,它会显示验证消息。我已尝试将表单验证移动到if else语句的下方,它不会显示验证消息,但它无法将数据提交到数据库。下面是我的控制器功能 public function Insert_Result($Course_ID=null) { $this-load-helper('form'); $this-load-library('form_va

我可以知道为什么我的insert函数会先显示验证消息,即使我还没有插入任何数据。一旦我进入insert页面,它会显示验证消息。我已尝试将表单验证移动到if else语句的下方,它不会显示验证消息,但它无法将数据提交到数据库。下面是我的控制器功能

 public function Insert_Result($Course_ID=null)
     {
         $this-load-helper('form');
         $this-load-library('form_validation');

         /* Model */
         $this-load-model('ResultEvaluation');

         /* Session */
         $session_data = $this-session-userdata('logged_in');
         $data['Ins_ID'] = $session_data['Ins_ID'];
         $this-session-set_userdata($data);

         /* Form Validation*/

         //$this-form_validation-set_rules('Course_ID', 'Course_ID', 'required');
         $this-form_validation-set_rules('Matric_No', 'Matric_No','required');
         $this-form_validation-set_rules('Student_Name', 'Student_Name', 'required');
         $this-form_validation-set_rules('Result_Mark_1', 'Result_Mark_1', 'required');
         $this-form_validation-set_rules('Result_Mark_2', 'Result_Mark_2', 'required');
         $this-form_validation-set_rules('Result_Mark_3', 'Result_Mark_3', 'required');
         $this-form_validation-set_rules('Result_Mark_4', 'Result_Mark_4', 'required');
         $this-form_validation-set_rules('Result_Mark_5', 'Result_Mark_5', 'required');

         if ($this-form_validation-run() === FALSE)
         {
             $data['results'] = $this-ResultEvaluation-get_record();
             $data['query'] = $this-ResultEvaluation-view($Course_ID);

             $this-load-view('templates/header');
             $this-load-view('Insert_Result', $data);
             $this-load-view('templates/footer');
         }
         else
         {
             $my_action = $this-input-post('submit');
             if ($my_action == 'Submit') 
             {
                 $this-ResultEvaluation-insert_record($Course_ID);
                 redirect('Result_Evaluation/Student_Result_List/'.$Course_ID,
 'refresh'); 
             }
         }        
         $my_action = $this-input-post('submit');
         if ($my_action == 'Cancel') 
         {
             redirect('Result_Evaluation/Student_Result_List/'.$Course_ID,
 'refresh');
         }

      }

我认为这应该有帮助

public function index(){
        $this->load->library(array('form_validation'));
        $this->form_validation->set_rules('field_name', 'Text','trim|required');

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

               // do something
            }else{
                // validation error
                redirect("to/your/controller");
                break;
            }
    }

有关更多信息,请访问:

ya,但在我输入表单时会显示。如果出现错误,则在我按下提交按钮后,验证应弹出。如果($this-form\u validation-run()==FALSE)已更正,但在我输入插入表单后仍会显示验证。