I'm trying to only display the login button/form when the user isn't logged in, and I'm not quite sure how to do it. I've already set up the login and registration, but I also want to greet the user with a message after the login and just hide the login form. Like... "Welcome back, $user".
Here's some of my code as a reference:
The login controller:
function login() {
$query = $this->login_model->validate ();
if ($query) {
$data = array (
'username' => $this->input->post ( 'username' ),
'is_logged_in' => TRUE
);
$this->session->set_userdata ( $data );
redirect ( 'user/dashboard' );
} else {
redirect(base_url());
}
}
The model:
class Login_model extends CI_Model {
function validate() {
$this->db->where ( 'nume', $this->input->post ( 'username' ) );
$this->db->where ( 'parola', $this->input->post ( 'parola' ) );
$query = $this->db->get ( 'users' );
if ($query->num_rows () == 1) {
return true;
}
}
}
The view:
<div class="dropdown pull-right drop hidden-xs">
<button class="btn btn-default dropdown-toggle" type="button"
id="dropdownMenu1" data-toggle="dropdown" aria-haspopup="true"
aria-expanded="true">
Login <span class="caret"></span>
</button>
<ul class="dropdown-menu cs-padding" aria-labelledby="dropdownMenu1">
<?php echo form_open('menu/login'); ?>
<li>Cont: <?php echo form_input(array('name'=>'username', 'class'=>'form-control custom-search hidden-sm form-custom', 'placeholder' => 'Nume',)); ?></li>
<li>Parola: <?php echo form_input(array('name'=>'parola', 'class'=>'form-control custom-search hidden-sm form-custom', 'placeholder' => 'Parola',)); ?></li>
<?php echo form_submit(array('name'=>'logare','value' => 'Login', 'class'=>'btn btn-default btn-custom col-lg-12')); ?>
<?php echo form_close(); ?>
</ul>
<a href="<?php echo base_url(). "menu/inregistrare"; ?>"><button class="btn btn-default">Inregistrare</button></a>
</div>
Hope you guys can help me, thanks!
Here is code for check user is login and you can put your button here
$isLogin= $this->session->userdata('is_logged_in');
if(!isset($isLogin)||$isLogin!=true){
//dont show login
}else{
//show login
}
In view change your code to
<div class="dropdown pull-right drop hidden-xs">
<button class="btn btn-default dropdown-toggle" type="button"
id="dropdownMenu1" data-toggle="dropdown" aria-haspopup="true"
aria-expanded="true">
Login <span class="caret"></span>
</button>
<ul class="dropdown-menu cs-padding" aria-labelledby="dropdownMenu1">
<?php if($this->session->userdata('is_logged_in')){
echo "welcome back ".$this->session->userdata('username');
}else {?>
<?php echo form_open('menu/login'); ?>
<li>Cont: <?php echo form_input(array('name'=>'username', 'class'=>'form-control custom-search hidden-sm form-custom', 'placeholder' => 'Nume',)); ?></li>
<li>Parola: <?php echo form_input(array('name'=>'parola', 'class'=>'form-control custom-search hidden-sm form-custom', 'placeholder' => 'Parola',)); ?></li>
<?php echo form_submit(array('name'=>'logare','value' => 'Login', 'class'=>'btn btn-default btn-custom col-lg-12')); ?>
<?php echo form_close(); ?>
<?php }?>
</ul>
<a href="<?php echo base_url(). "menu/inregistrare"; ?>"><button class="btn btn-default">Inregistrare</button></a>
</div>
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.