Codeigniter:登录后在主页上显示当前用户

时间:2014-09-04 06:45:15

标签: php codeigniter

我想问一下如何显示已在我的主页登录的当前用户。

这是我的登录视图:

<form action="login2" method="POST" id="log_form" name="log_form" style="margin-left: auto; margin-right: auto;"> 
                        <div class="modal-body">
                           <div class="container">     
                              <div id="nav_log1">
                                Username: <input type="text" id="txt_user1" name="txt_user1" style="color: black;"/>
                                Password: <input type="password" id="txt_pass1" name="txt_pass1" style="color: black;"/>
                              </div>
                            </div> <!-- /container -->
                        <div class="modal-footer" style="padding: 20px; margin-top: 20px;">
                            <button type="submit" value="login" id="btn_login" class="btn btn-primary btn-sm" name="btn_login">Sign-In</button>
                            <button class="btn btn-warning btn-sm" data-dismiss="modal">Cancel</button>
                        </div>
                        </div>
                     </form>

这是我的模特:

public function select_login($value2){
    $login_user = $this->db->select('*')
                           ->from('tblusers')
                           ->where('Username', $value2['txt_user1'])
                           ->where('Password', $value2['txt_pass1'])
                           ->get()->row();
           return $login_user;
}

这是控制器,与我的视图中的表单操作相对应:

 public function login2(){
    $data = array();
    if(!empty($_POST['btn_login'])){

        $session_login = $this->inventory_model->select_login($this->input->post());
        if($session_login){
            $this->session->set_userdata('login_session', array('Username' => $session_login->Username,
                                                                'Password' => $session_login->Password,
                                                                'UserType' => $session_login->UserType));
                                                            redirect('inventorysys_controller/homepage');
        }
        else{
            $this->session->set_flashdata('msg','Invalid Username/Password!');
            redirect('inventorysys_controller/loginpage2');
        }
    }
}

正如您所看到的,我的login2控制器中有一个redirect('inventorysys_controller/homepage');。由于我在网页上加载了多个视图,因此该页面上有两个视图。我将只发布标题视图,因为我想要输入已登录用户的名称。以下是观点:

<div class="container">
  <div class="masthead">
    <h3 class="text-muted">Inventory System</h3>&nbsp;
    <ul class="nav navbar-default nav-justified">
      <li><a href="<?php echo site_url('inventorysys_controller/homepage'); ?>">Home</a></li>
      <li><a href="<?php echo site_url('inventorysys_controller/inventory'); ?>">Inventory</a></li>
      <li><a href="<?php echo site_url('inventorysys_controller/userslist1'); ?>">Users List</a></li>
      <li><a href="<?php echo site_url('inventorysys_controller/view_employees'); ?>">Employee</a></li>
      <li class="dropdown"><a href="#" class="dropdown-toggle" id="dropdownMenu1" data-toggle="dropdown">Administration<span class="caret"></span></a>
        <ul class="dropdown-menu" role="menu" aria-labelledby="dropdownMenu1">
            <li role="presentation"><a role="menutitem" tab-index="-1" href="<?php echo site_url('inventorysys_controller/maintenance'); ?>">Inventory Maintenance</a></li>
        </ul>
      </li>
      <li><a href="<?php echo site_url('inventorysys_controller/about') ?>">About</a></li>
      <li><a name="btn_logsouts" id="btn_logsouts" href="<?php echo site_url('inventorysys_controller/logsouts') ?>"><span class='glyphicon glyphicon-off'></span>&nbsp;Logout</a></li>
    </ul>
 </div>

以下是我的主页视图的打印屏幕,供您查询我的问题:

enter image description here

这就是它,我只想选择已登录的用户名并在我的主页上显示。我知道我会创建另一个像SELECT * FROM 'tblusers' where 'user' = --blank--这样的查询。我还不知道如何处理。请帮帮我们!预先感谢您的帮助! :)

2 个答案:

答案 0 :(得分:1)

正如我看到您在会话中分配用户名,您可以在代码中的任何位置访问它。

echo $this->session->userdata('Username');

如果您有任何疑问,请告诉我。

此致 Zeeshan。

答案 1 :(得分:0)

所以我解决了它,感谢@Zeeshan。

我刚刚在我的视图中添加了此代码:

<?php $session_login = $this->session->userdata('login_session'); ?>

<label><?php echo $session_login['Username']; ?></label>

我希望这可以帮助你们。感谢@Zeeshan!