![](/img/trans.png)
[英]How to display alert message for the invalid login credentials for the login form
[英]The alert message is displaying without the login form
在下面的代码点火器代码中,我放置了控制器并查看部件。现在,如果非活动者试图登录该帐户,它应该与登录表单一起显示在活动用户中。在我的情况下,该消息未登录即显示,最后登录表单消失了。 控制器:
function index()
{
$data['main_content'] = 'login_form';
$this->load->view('includes/template', $data);
}
function inactive()
{
echo"<script>alert('In active user');</script>";
}
function validate_credentials()
{
$this->load->model('membership_model');
$query = $this->membership_model->validate();
if($query) // if the user's credentials validated...
{
$data = array(
'username' => $this->input->post('username'),
'is_logged_in' => true
);
if($query->num_rows()>0){
$status = $query->row()->account_status;}
else {
$status = ''; }
if($status == 'active')
{
$this->session->set_userdata($data);
redirect('site1/members_area');
}
else //Account In active
{ $this->inactive(); }
}
else // incorrect username or password
{
$this->index();
}
}
视图:
<?php $this->load->view('includes/header'); ?>
<link rel="stylesheet" type="text/css" href="<?php echo base_url();?>css/style1.css" />
<div id="login_form">
<h1>Login!</h1>
<?php
echo form_open('login/validate_credentials');
echo form_input('username', 'Username');
echo form_password('password', 'Password');
echo form_submit('submit', 'Login');
echo anchor('login/signup', 'Create Account');
echo form_close();
?>
</div><!-- end login_form-->
<?php $this->load->view('includes/footer'); ?>
我看不到您在控制器的inactive()
中调用视图文件的位置吗?
function inactive()
{
echo"<script>alert('In active user');</script>";
$this->load->view('Your view with login form'); // this part
}
这里最明显(可能)的错误是您没有将发布的数据传递给$this->membership_model->validate();
。 由于您没有将代码发布到该函数,所以我不能百分百确定,但是我敢打赌这是问题所在。 该信息未传递,因此未正确设置$query
变量,因此显示错误。
你为什么不试试这个:
function index($inactive_login = FALSE) {
$data['inactive_login'] = $inactive_login;
$data['main_content'] = 'login_form';
$this->load->view('includes/template', $data);
}
function validate_credentials() {
$this->load->model('membership_model');
$query = $this->membership_model->validate();
if($query) // if the user's credentials validated...
{
$data = array(
'username' => $this->input->post('username'),
'is_logged_in' => true
);
if($query->num_rows()>0){
$status = $query->row()->account_status;}
else {
$status = ''; }
if($status == 'active')
{
$this->session->set_userdata($data);
redirect('site1/members_area');
}
else //Account In active
{
$inactive_login = TRUE;
$this->index($inactive_login);
}
}
else // incorrect username or password
{
$this->index();
}
}
视图:
<?php $this->load->view('includes/header'); ?>
<?php
if($inactive_login){
echo "<script>alert('In active user');</script>";
}
?>
<link rel="stylesheet" type="text/css" href="<?php echo base_url();?>css/style1.css" />
<div id="login_form">
<h1>Login!</h1>
<?php
echo form_open('login/validate_credentials');
echo form_input('username', 'Username');
echo form_password('password', 'Password');
echo form_submit('submit', 'Login');
echo anchor('login/signup', 'Create Account');
echo form_close();
?>
</div><!-- end login_form-->
<?php $this->load->view('includes/footer'); ?>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.