フォームの検証エラーが機能しなくなりました。昨日働いていましたが、何か間違っていたに違いありません。検証エラーは表示されません。検証が間違っているときにエラーメッセージを取得しようとしています
情報を入力せずにサインアップをクリックするだけで、ビューをロードする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>
申し訳ありませんが、これは機能しません。 –
あなたのクラス名とファイル名が等しいかどうかを確認しますか? –
私はログインメソッドを含むAdmin_loginページを開こうとしていますので、なぜ私はform_open( 'admin_login/login')を書きました。どちらが正しい。 –