登录后更改按钮登录注销o navbar bootstrap

时间:2015-10-05 04:33:08

标签: php html codeigniter twitter-bootstrap-3 frameworks

我尝试在bootstrap navbar上创建登录按钮,但是当我在登录后尝试然后输入登录按钮变成注销时我发现很难?有谁可以帮助我

<li class="nav navbar-nav navbar-right">
    <a href="<?php echo base_url(); ?>login/login" class="btn btn-default btn-outline btn-circle collapsed">Login</a>   
</li>   

1 个答案:

答案 0 :(得分:5)

Codeigniter 3

当您登录登录功能的成功部分时,您应该创建一些会话用户数据,您可以在其中存储一些用户名或您需要的任何数据。然后在视图上你应该可以使用如下的会话

<?php if ($this->session->userdata('username') == TRUE) {?>

    <li class="nav navbar-nav navbar-right">
        <a href="<?php echo base_url('login/logout'); ?>" class="btn btn-default btn-outline btn-circle collapsed">logout</a>   
    </li>   

<?php } else { ?>

    <li class="nav navbar-nav navbar-right">
        <a href="<?php echo base_url('login/login'); ?>" class="btn btn-default btn-outline btn-circle collapsed">Login</a>   
    </li>   

<?php } ?>

在注销功能中取消设置或销毁会话。

同样在您的base_url()上,您可能需要包含index.php

<?php echo base_url('index.php/login/login'); ?>
<?php echo base_url('index.php/login/logout'); ?>

当您创建会话时,您需要在application / config / config.php上的codeigniter加密密钥http://randomkeygen.com/第313行周围,并且还需要加密密钥自动加载会话。

设置会话数据http://www.codeigniter.com/user_guide/libraries/sessions.html

$newdata = array(
        'username'  => 'johndoe',
        'email'     => 'johndoe@some-site.com',
        'logged_in' => TRUE
);

$this->session->set_userdata($newdata);

样本控制器

<?php 

class Login extends CI_Controller {

   public function index() {
      $this->login();
   }

    public function login() {
       $this->load->library('form_validation');
       $this->form_validation->set_rules('username', 'Username', 'required');
       $this->form_validation->set_rules('password', 'Password', 'required');

       if ($this->form_validation->run() == FALSE) {

            $this->load->view('login_view');

       } else {

            $newdata = array(
               'username'  => $this->input->post('username'),
               'logged_in' => TRUE
            );

            $this->session->set_userdata($newdata);

            redirect('success-controller');
       }
    }

    public function logout() {
       // Also unset your user data here

       redirect('login');
    }
}

表单验证用户指南

http://www.codeigniter.com/user_guide/libraries/form_validation.html

自动加载

$autoload['helper'] = array('array', 'date', 'file', 'form', 'html', 'url');
相关问题