Ich habe Login-Button auf meiner Navbar, seine Eröffnung Login-modal. Ich möchte Login-Taste mit Benutzernamen ändern, die in diesem modalen eingeloggt ist.Wie zeige ich Benutzernamen in bootstrap navbar nach dem Anmelden
Ich bin ein Newbee in PHP und MySQL. Eine Woche und ich bin hier. Bitte geben Sie mir Anweisungen zu meinem Problem, sonst verstehe ich :)
Hier sind meine 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>
Danke für Antwort. aber; Ich verwende Php if (isset ($ _ SESSION [ 'username'])):?> Php echo $ _SESSION [ 'username']?> Php else:?> vor Taste. nach der Schaltfläche verwende ich php endif?> Wenn ich die Seite aktualisiere; Es gibt keine Login-Schaltfläche in meiner Navigationsleiste, aber ich schreibe den Benutzernamen. Sollte ich Session irgendwo zerstören, um Login-Button für eingeloggt zu sehen? p.s. : Ich verstehe nicht, wie Sie mit anderen und (:) dies und nach elseif. Ich versuche herauszufinden :) –
Ja, Sie müssen Ihre Sitzung zerstören oder Cookies von Ihrem Browser entfernen, um die Schaltfläche erneut zu sehen. und mehr über diese alternative Syntax wissen if(): [lesen Sie hier] (http://php.net/manual/en/control-structures.alternative-syntax.php) – codisfy
Erkenntnis, dass Sie den Benutzernamen anzeigen müssen Innerhalb der Schaltfläche habe ich den Code in meiner Antwort geändert, aber jetzt müssen Sie auch Ihre Klassen/IDs aktualisieren, so dass beim Klicken auf die Schaltfläche kein Login-Popup etc. angezeigt wird. – codisfy