我的代码有点问题。我正在研究bootstrap CSS。我对这个框架非常惊讶。这就是我决定学习这个的原因。我并不是真的没有足够的CSS知识。但我明白了一点。
我正在创建一个表单,如果用户名或密码错误,我想要验证消息。我有一个必需的验证。但在创建我的验证并传递给模型之后。我不知道如何再次显示到同一页面并显示我的错误消息?
这是我的简单代码。
在我的控制器中
class Admin extends MX_Controller {
public function __construct() {
parent::__construct();
$this->load->model('admin/adminauth');
}
public function index() {
$data['title'] = "Administration";
$this->form_validation->set_rules('username', 'Username', 'required|xss_clean');
$this->form_validation->set_rules('password', 'Password', 'required|xss_clean');
if ($this->form_validation->run() == FALSE) {
$this->load->view('header/header',$data);
$this->load->view('contents/login',$data);
$this->load->view('footer/footer');
} else {
$validate_login = $this->adminauth->validate_login();
if($validate_login > 0) {
} else {
//this should be go back again to the index and display my error message.
$this->index();
}
}
}
}
在我看来,我有这个
<div class="panel-body form-admin-signin">
<?php
$form_array = array(
'class' => 'form-signin'
);
echo form_open('admin',$form_array);
?>
<div class="form-group">
<h3 class="form-signin-heading">Username</h3>
<input type="text" name="username" class="form-control inputs" placeholder="username" value="<?php echo set_value('username'); ?>" />
<?php echo form_error('username','<div class="error_msg">','</div>'); ?>
<h3 class="form-signin-heading">Password</h3>
<input type="password" name="password" class="form-control inputs" placeholder="password" value="" />
<?php echo form_error('password','<div class="error_msg">','</div>'); ?>
<div class="checkbox">
<label><input type="checkbox" /> Remember me</label>
</div>
<input type="submit" class="btn btn-primary login-btn" value="Login" />
</div>
<?php echo form_close(); ?>
<?php
//THIS IS I WANT TO DISPLAY. IF INVALID THE CHECKING IN SQL IT WILL DISPLAY BELOW THE FORM
$validate = '';
if($validate == 1) {
?>
<div class="alert alert-danger">
<label>Invalid Username or Password please try again!</label>
</div>
<?php
}
?>
</div>
在我的模型中,我有这个
class AdminAuth extends CI_Model {
public function __construct() {
parent::__construct();
}
public function validate_login() {
$username = $this->input->post('username');
$password = md5($this->input->post('password'));
$query = "SELECT username FROM user WHERE username = '".$username."' AND password = '".$password."' LIMIT 1";
$get_result = $this->db->query($query);
return $get_result->num_rows();
}
}
所有人,我希望你能帮助我。或者你可以给我一个使用AJAX的例子吗?
答案 0 :(得分:1)
试
$this->session->set_flashdata('error', 'Error while sending enquiry email.');
$this->index();
或者您可以使用: -
$this->session->set_flashdata('error', 'Error while sending enquiry email.');
redirect('contoller');
视图: -
<?php echo $this->session->flashdata('error');?>
答案 1 :(得分:0)
您可以在
中的控制器中创建$data['errors']
变量
if ($this->form_validation->run() == FALSE) {
添加
$data['errors'] = validation_errors();
并在视图文件的顶部添加
<?php if(isset($errors)){ ?>
<div class="alert alert-danger"> <!--bootstrap error div-->
<?=$errors?>
</div>
<?php } ?>