dro7152
dro7152
2016-07-10 18:25
浏览 430
已采纳

登录后如何在bootstrap导航栏中显示登录用户名

I have login button on my navbar, its opening login modal. I want to change login button with username who logged in that modal.

I'am a newbee in php and mysqli. One week and i'm here. Pls give me explained directions about my problem, else i'cant understand :)

Here is my codes;

index.php

<?php 
    include 'config/setup.php'; //database connection here
    session_start();
    ?>

<!doctype html>
<html>
    <head>
            <!-- showing title dynamicly -->
    <title><?php echo $page['title'].' | '.$site_title; ?></title>

        <meta name="viewport" content="width=device-width, initial-scale=1">
        <link rel="shortcut icon" type="image/x-icon" href="img/favicon.png">

        <?php include "config/css.php"; ?>  <!-- bootstrap css links -->
        <?php include "config/js.php"; ?>   <!-- jquery javascript links -->      
    </head>    
<body>

<?php include (D_TEMPLATE.'/navigation.php'); ?>   <!-- including navbar -->

    <div class="container">
        <!-- body items will be here -->
    </div>

<?php include (D_TEMPLATE.'/footer.php'); ?>     <!-- including footer-->

</body>

</html>

navigation.php

<?php include 'config/js.php'; ?>

<!-- Navbar -->
<nav class="navbar navbar-inverse">
    <div class="container">    
    <div class="navbar-header"><img src="img/brand.png"></div>

        <ul class="nav navbar-nav">
         <?php nav_main($dbc, $pageid);  ?> <!-- Im showing page links dynamicly in mysql database -->
        </ul>

        <form class="navbar-form navbar-left" role="search">
            <div class="form-group">
              <input type="text" class="form-control" placeholder="Search">
              <a href="#"> <i class="fa fa-search fa-lg" style="color:#FFFFFF;" aria-hidden="true"></i></a>              
            </div>
        </form>  


<div class="navbar-form navbar-right">

<?php

if(isset($_POST['login'])){
    require 'config/dbc.php';
    $username = $_POST['username'];
    $password = $_POST['password'];
    $result = mysqli_query($dbc, "SELECT * FROM users WHERE username = '$username' AND password = '$password'");
    if(mysqli_num_rows($result) == 1){
        $_SESSION['username'] = $username;
        echo $username;
    }else{ 
        echo "problem";
    }
}

?>
    <!-- Modal Login Button, i'm asking to erase this and write $username when user logged in, php codes is here because of this. In this situation, writing username WITH buttons, i want to erase that buttons after user logged in, it has to be write only username after login. I've tried echo this buttons after  }else{  code; but any buttons not shown before login.I'm trying trying trying -->
    <button id="login" name="login" class="btn btn-primary"><i class="fa fa-sign-in" aria-hidden="true"></i> Login</button> 

    <!-- It will be register modal button, i will work on it later -->
    <button id="register" name="register" class="btn btn-success"><i class="fa fa-user-plus" aria-hidden="true"></i> Register</button>
    </div>      

</nav>


   <!-- Here is my Login Modal -->

<section id="modal" class="modal fade"> 
    <div class="modal-body">

        <form method="post" action="index.php">

        <div class="form-group">
            <h4><i class="fa fa-sign-in" aria-hidden="true"></i> Login to Your Account
            <a href="#"><span id="close" class="glyphicon glyphicon-remove-circle pull-right"></span></a></h4>
        </div>          

            <div class="form-group">
                <label for="username">Username</label>
                <input type="text" name="username" class="form-control" id="username" placeholder="Enter username">
            </div>

            <div class="form-group">
                <label for="password">Password</label>
                <input type="password" name="password" class="form-control" id="password" placeholder="Enter password">
            </div>

            <div class="checkbox">
                <label><input type="checkbox">Remember Me</label>
                <button class="btn btn-primary pull-right" data-dismiss="modal">Close</button>
                <button type="submit" name="login" class="btn btn-danger pull-right"><i class="fa fa-sign-in" aria-hidden="true"></i> Login</button><br><br>
                <a href="#"><label>Forgot password?</label></a>
            </div>

        </form>

    </div>
</section>


<!-- It will be my Register Modal -->
<section id="modal_register" class="modal fade"> 
    <div class="modal-body">

        <form action="" method="post" role="form">

          Register Here

            <button id="submit" class="btn btn-danger">Login</button>

        </form>

    </div>
</section>
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • doushou5761
    doushou5761 2016-07-10 18:34
    已采纳

    If Everything else is sorted out usually something like this can work for you

    <button id="login" name="login" class="btn btn-primary"><i class="fa fa-sign-in" aria-hidden="true"></i>  
        <?php if (isset($_SESSION['username'])) : ?>
           <?php echo $_SESSION['username'] ?>
        <?php else: ?>
           Login
        <?php endif ?>
    
    </button>
    

    OR after removing the id

        <?php if (isset($_SESSION['username'])) : ?>
           <button class="btn btn-primary"><i class="fa fa-sign-in" aria-hidden="true"></i>  <?php echo $_SESSION['username'] ?> </button>
        <?php else: ?>
           <button id="login" name="login" class="btn btn-primary"><i class="fa fa-sign-in" aria-hidden="true"></i> Login</button>
        <?php endif ?>
    

    Let me know if you have any problems understanding this code

    点赞 评论

相关推荐