2016-10-27 17 views
-1

私はフォームを有効にすることに問題があります。これはシングルフォームです。私はログインとユーザーコントローラを持っています。codeigniterでのフォーム検証に関する問題

デフォルトのcontroolerを "user"に変更すると、フォームが検証されますが、ログインしたいときは動作しません。私は問題が何であるか知りたい!

これは、ユーザコントローラから検証フォームコードです:

public function __construct() 
    { 
     parent::__construct(); 
     $this->load->helper(array('form','url')); 
     $this->load->library(array('session', 'form_validation', 'email')); 
     $this->load->database(); 
     $this->load->model('user_model'); 
    } 
    function index() 
     { 
      //set validation rules 
      $this->form_validation->set_rules('name', 'First Name', 'trim|required|alpha|min_length[3]|max_length[30]|xss_clean'); 
      $this->form_validation->set_rules('prenom', 'Last Name', 'trim|required|alpha|min_length[3]|max_length[30]|xss_clean'); 
      $this->form_validation->set_rules('email', 'Email ID', 'trim|required|valid_email|is_unique[teacher.email]'); 
      $this->form_validation->set_rules('password', 'Password', 'trim|required|matches[cpassword]|md5'); 
      $this->form_validation->set_rules('cpassword', 'Confirm Password', 'trim|required|md5'); 

      //validate form input 
      if ($this->form_validation->run() == FALSE) 
      { 
       // fails 
       $this->load->view('backend/user_registration_view'); 
      } 

が、これは図である。

<div class="panel-body"> 
       <?php $attributes = array("name" => "registrationform"); 
       echo form_open("user/register", $attributes);?> 
       <div class="form-group"> 
        <label for="name">First Name</label> 
        <input class="form-control" name="name" placeholder="Your First Name" type="text" value="<?php echo set_value('name'); ?>" /> 
        <span class="text-danger"><?php echo form_error('fname'); ?></span> 
       </div> 

これは私がこの問題を解決するhelpeしてください私は私のアプリをテストするインクです。

http://prof.skolarie.com(ログインはデフォルトのコントローラです)。

ログインがデフォルトで設定されていると、ユーザーコントローラを無効にすると思います!

ありがとう

更新:routesファイル。

$route['default_controller'] = 'login'; 

$route['404_override'] = ''; 
$route['translate_uri_dashes'] = FALSE; 

あなたは下のリンクでコードソースを見つけることができます:ヨーヨーは、することができますような単純なものを持っているので、あなたがどこにあなたを見ることができますしてみてください、あなたのページが読みにくい

http://prof.skolarie.com/uploads/myapp.zip

+0

インデックス機能でルールを定義し、フォームデータを登録機能に登録していますか? –

答えて

0

をどんなミスを犯し、私はこの問題は、可能性が場所を確認しようとしましたが、私は見つけることができるすべては、あなたのフォームが登録フォームがポイントしている奇妙なリンク元を指しているということです。

http://prof.skolarie.com/index.php/user/index 

このリンクは実際には見逃されています。フォームを入力をチェックし、モデルを使用してデータベースに入れ、次にロギングコントローラをポイントするコントローラを指している必要があります

また、ルーティングの問題、あなたのウェブサイト上の任意のページにアクセスして404エラー(例:訪問した:http://prof.skolarie.com/index.php/random/random/random123)を表示せずにログインフォームを生成して、404エラービューを変更した場合は、ルートは有効で、正しいコントローラを指しています。

この問題が引き続き発生する場合は、適切なコードサンプルを掲載し、ルートにも掲載してください。

+0

このリンクからのコードソースを見ることができます:http://prof.skolarie.com/uploads/myapp.zip、 ルートファイルで私はこれを持っています: $ルート['default_controller'] = 'ログイン'; $ルート['404_override'] = ''; $ルート['translate_uri_dashes'] =偽です。 –

+0

あなたはcodeigniterが提供するMVCアーチを利用していません。モデルからの起動機能は –

+0

です。あなたのコードシナーコードを正しく使用していないと言って、ファイルにいくつかの変更を加えたので、ここでダウンロードしてください:https://www.mediafire.com/?4ff7c4u1cpxepxm –

0

あなたはuser/register上のフォームを掲示していると私はindex機能であなたの検証がとてもregister機能の代わりに、indexに検証をしてくださいと思います。

+0

私はregister関数からinde関数に検証フォームを変更しましたが、これが問題であるかどうかを確認していますが、そうではないようですが、このリンクからコードソースをダウンロードできます:http://prof.skolarie.com/uploads/myappジップ。ありがとうございました –

関連する問題