Чтобы отобразить неверный адрес электронной почты и сообщение об ошибке пароля - PullRequest
0 голосов
/ 29 июня 2018

В поле зрения: login.php

Я использую этот файл представления в двух местах: в одном для входа в систему пользователя, а в другом отображается сообщение о неверном пользователе и пароле. Ниже я упомянул некоторый код, но он не работает. дайте мне какие-либо предложения относительно этой проблемы.

 <div class="login-content">
/*
message to be displayed here:
 i try this one:<?php if(!(authentication($email,$password) == TRUE)){                          
echo "Invalid email address or password";
               }?>
  */
    <form action="<?php echo site_url('auth/check');?>" method="POST" class="margin-bottom-0" data-parsley-validate="true" onsubmit = "return Validate();" >
     <div class="form-group m-b-15">
    <input type="text" name="txtemail" id="txtemail" class="form-control input-lg" placeholder="<?php echo $language['Email'];?>" data-parsley-required='true' maxlength="95"/>
                            </div>
     <div class="form-group m-b-15">
    <input type="password" name="txtpassword" id="txtpassword" class="form-control input-lg" placeholder="<?php echo $language['Password'];?>" data-parsley-required='true' maxlength="95"/>
     </div>

В контроллере: Auth.php

Это function для проверки валидации пользователя. Я хочу отобразить сообщение, используя это function в else условии.

public function check(){

    $email      = $this->input->post('txtemail');
    $password   = $this->encrypt($this->input->post('txtpassword'));
    $this->load->model('cmsuser_model');
    $user = $this->cmsuser_model->authentication($email,$password);

    if(!is_null($user))
    {
        $this->session->set_userdata('user', $user);
        $this->session->set_userdata('profile_image',$user->image);
        $this->session->set_userdata('is_manager','0');


        $this->load->model('association_model');
        $table = '';
        $limit = '';
        $order_by = '';
        $group_by = '';
        $start = '';
        $fields = '';
        $where = array();
        $where['created_by'] = $this->session->userdata['user']->cmsuid;
        $dt = $this->association_model->get_all($fields, $where, $table, $limit, $order_by, $group_by, $start);
        $this->session->set_userdata('ass_id', $dt[0]['ass_id']); 

        redirect(base_url('index.php/welcome'), 'refresh');
    }
    else{
  //Browser redirect to this else condition but i am not able to display message in `view(login.php)` file.
    redirect(base_url('index.php/auth/login'), 'refresh');
        }
    exit;
}

1 Ответ

0 голосов
/ 29 июня 2018
public function check(){

    $email      = $this->input->post('txtemail');
    $password   = $this->encrypt($this->input->post('txtpassword'));
    $this->load->model('cmsuser_model');
    $user = $this->cmsuser_model->authentication($email,$password);

    if(!is_null($user))
    {
        $this->session->set_userdata('user', $user);
        $this->session->set_userdata('profile_image',$user->image);
        $this->session->set_userdata('is_manager','0');


        $this->load->model('association_model');
        $table = '';
        $limit = '';
        $order_by = '';
        $group_by = '';
        $start = '';
        $fields = '';
        $where = array();
        $where['created_by'] = $this->session->userdata['user']->cmsuid;
        $dt = $this->association_model->get_all($fields, $where, $table, $limit, $order_by, $group_by, $start);
        $this->session->set_userdata('ass_id', $dt[0]['ass_id']); 

        redirect(base_url('index.php/welcome'), 'refresh');
    }
    else{
      $url=echo base_url('login.php').'?status=err';
      redirect($url, 'refresh');
//this will redirect you to the login page with the parameter status in the url
        }
    exit;
}

в файле login.php Просмотр файла

<?php
   $satatus = $_GET['status'];
   if($status == 'err'){
?>
//add this div right above the login section
<div>Wrong Username/Password !!</div>
    <div class="login-content">
/*
message to be displayed here:
 i try this one:<?php if(!(authentication($email,$password) == TRUE)){                          
echo "Invalid email address or password";
               }?>
  */
    <form action="<?php echo site_url('auth/check');?>" method="POST" class="margin-bottom-0" data-parsley-validate="true" onsubmit = "return Validate();" >
     <div class="form-group m-b-15">
    <input type="text" name="txtemail" id="txtemail" class="form-control input-lg" placeholder="<?php echo $language['Email'];?>" data-parsley-required='true' maxlength="95"/>
                            </div>
     <div class="form-group m-b-15">
    <input type="password" name="txtpassword" id="txtpassword" class="form-control input-lg" placeholder="<?php echo $language['Password'];?>" data-parsley-required='true' maxlength="95"/>
     </div>
<?php
   }
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...