0

こんにちは私は簡単な検証フォームを作成しようとしていますが、何らかの理由で動作しませんcodeigniterユーザーガイドを休ませようとしましたが、なぜか私は初心者です。誰かが私のコードを見ることができますか?あなたが助けてくれるようにtnxを助けてください。私が得るのは、エラーメッセージページが見つからず、フォーム自体が検証されないことだけです。送信ボタンをクリックすると、このURLに移動しますHTTP://localhost/Surva/index.php/info/validation

コントローラ

<?php

class Info extends CI_Controller{

 public function index(){
 $this->load->view('info_view');


 $data ['name'] =        $this->input->post('name');
 $data ['second_name'] = $this->input->post('second_name');
 $data ['phone'] =       $this->input->post('phone');   
 $data ['email'] =       $this->input->post('email');

 if($this->input->post('submit')){

     $this->form_validation->set_rules('name', 'Name', 'required|alpha|xss_clean');
     $this->form_validation->set_rules('second_name', 'Second Name', 'required|alpha|xss_clean');
     $this->form_validation->set_rules('email', 'Email', 'required|valid_email');

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

         $this->info_model->add_record($data);

     }
 }
     $this->load->view('survay_view');
 }




 }


?>

見る

<html>
    <head>
    </head> 
 <body>

   <?php 
   echo validation_errors();
   echo form_open('info/validation'); ?>
     <ul id="info">  

       <li><label for='name'>Name:</lable><?php echo form_input('name')?></li>


       <li><label for='second_name'>Second Name:</lable> <?php echo form_input('second_name');?> </li>


       <li><label fro='phpne'>Phone:</lable> <?php echo form_input('phone');?></li>


       <li><label for='email'>Email:</lable><?php echo form_input('email');?></li>

       <li><?php echo form_submit('submit', 'Start survay!!' );?></li>
     </ul>  

 <?php echo form_close();?>
  </body>
</html>

モデル

<?php

class Info_model extends CI_Model {

    function get_records()
          {
          $query = $this->db->get('credentials');

          return $query->result();   
          }


    function add_record($data)
          {
          $this->db->insert('credentials', $data);
          return;
       }


}

?>
4

2 に答える 2

3
echo form_open('info/validation');

フォームは、「Info」と呼ばれるコントローラーと「validation」と呼ばれる関数に入るように要求します。

コントローラにはその機能がありません。

次のように変更してみてください。

echo form_open('info');

インデックス関数で検証を行っているためです。

于 2013-03-04T07:47:49.823 に答える
0

コントローラにform_validationライブラリをロードします。ロードするのを忘れました。

public function index(){
 $this->load->view('info_view');
 $this->load->library('form_validation');  // load library.
 ...............

}

変化する

 echo form_open('info/validation');

 echo form_open('info/');
于 2013-03-04T07:30:30.240 に答える