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

irw*_*nto 2 html php frameworks codeigniter twitter-bootstrap-3

我尝试在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>   
Run Code Online (Sandbox Code Playgroud)

Mr.*_* ED 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 } ?>
Run Code Online (Sandbox Code Playgroud)

在您的注销功能上取消设置或销毁会话.

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

<?php echo base_url('index.php/login/login'); ?>
<?php echo base_url('index.php/login/logout'); ?>
Run Code Online (Sandbox Code Playgroud)

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

设置会话数据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);
Run Code Online (Sandbox Code Playgroud)

样本控制器

<?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');
    }
}
Run Code Online (Sandbox Code Playgroud)

表单验证用户指南

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

自动加载

$autoload['helper'] = array('array', 'date', 'file', 'form', 'html', 'url');
Run Code Online (Sandbox Code Playgroud)