2016-03-28 15 views
0

フォームの検証エラーが機能しなくなりました。昨日働いていましたが、何か間違っていたに違いありません。検証エラーは表示されません。検証が間違っているときにエラーメッセージを取得しようとしています

情報を入力せずにサインアップをクリックするだけで、ビューをロードするadmin_login.phpにリダイレクトされます。

admin_login.php //コントローラファイル

<?php 
//session_start(); 
defined('BASEPATH') OR exit('No direct script access allowed'); 
class Admin_login extends CI_Controller { 
function __construct() 
{ 
    parent::__construct(); 
    $this->load->helper('form'); 
    $this->load->helper('url'); 
    $this->load->library('session'); 
    $this->load->model('loginModel'); 
} 
    public function index() 
    { 
     $this->load->view('admin_view'); 
    } 
    public function login() 
    { 
    // Load session library 
    $this->load->library('form_validation'); 
    $this->form_validation->set_rules('admin', 'user_name', 'required|alpha'); 
    $this->form_validation->set_rules('password', 'Password', 'required'); 

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

       return redirect('admin_login'); 
        //$this->load->view('admin_view'); 
       } 
      else 
      {  
       //echo "successful validation <br>"; 
       $admin = $this->input->post('admin'); 
       $password = $this->input->post('password'); 
       $login_id = $this->loginModel->admin_login($admin, $password); 
         if($login_id) 
       { 
        echo "valid admin_name and user <br>"; 
        //$this->session->set_userdata('id', $login_id); 


        //return redirect('listing'); 
       $this->load->view('listing'); 
       } 
       else 
       { 
        //$this->session->set_flashdata('flashError','invalid user_name/password'); 
        redirect('admin_login'); 
        echo "wrong admin_name or password"; 
       }     
      } 
     } 
} 

admin_view.php //ビューファイル

<?php 

defined('BASEPATH') OR exit('No direct script access allowed'); 
?><!DOCTYPE html> 
<html lang="en"> 
<head> 
<meta charset="utf-8"> 
<link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css"> 
    <title>first tutoial</title> 
</head> 
<body> 
<div id="container"> 
<h1>Welcome to Admin Login</h1> 
        <!-- new line inserted --> 
<?php echo form_open('admin_login/login'); ?> 
Admin User_Name: <input type="text" name="admin" class="text-denger"value="" placeholder="admin name" > 
<?php echo form_error("admin"); ?> 
<br> 
Admin Password: <input type="password" name="password" value="" placeholder="password" > 
<?php echo form_error("password"); ?> 
<br> 
<br> 
<input type="submit" name="submit" value="submit" id=""> 
</form> 
</div> 
</body> 
</html> 

答えて

0

変化この

<?php echo form_open('admin_login/login'); ?> 

01に
<?php echo form_open('Admin_login/login'); ?> 

(自分のクラス名がAdmin_loginですが、あなたはadmin_loginクラス

+0

申し訳ありませんが、これは機能しません。 –

+0

あなたのクラス名とファイル名が等しいかどうかを確認しますか? –

+0

私はログインメソッドを含むAdmin_loginページを開こうとしていますので、なぜ私はform_open( 'admin_login/login')を書きました。どちらが正しい。 –

0

常に使用します$ this->ロード - >ビューを開こうとします)。代わりに redirect();関数。 リダイレクト機能で検証エラーメッセージが表示されません。