2016-12-19 3 views
-5

beantworteten Frage:Abrufen von Benutzernamen von MYSQL-Datenbank

Also habe ich ein Login und Registrierung Feature auf meiner Website vorgenommen haben, aber jetzt würde ich mag den Benutzernamen des und zählt zur Seitenleiste hinzuzufügen .. Aber ich kann nicht herausfinden, wie dies zu tun ist, und darum bitte ich Sie um Hilfe. Signup.inc.php:

<?php 
session_start(); 

include '../dbh.php'; 

$fname = $_POST['fname']; 
$lname = $_POST['lname']; 
$uid = $_POST['uid']; 
$pwd = $_POST['pwd']; 

if (empty($fname)) { 
    header("Location: ../parts/signup.php?error=empty"); 
    exit(); 
} 
if (empty($lname)) { 
    header("Location: ../parts/signup.php?error=empty"); 
    exit(); 
} 
if (empty($uid)) { 
    header("Location: ../parts/signup.php?error=empty"); 
    exit(); 
} 
if (empty($pwd)) { 
    header("Location: ../parts/signup.php?error=empty"); 
    exit(); 
} else { 
$sql = "SELECT uid FROM users WHERE uid='$uid'"; 
$result = mysqli_query($conn, $sql); 
$uidcheck = mysqli_num_rows($result); 
if ($uidcheck > 0) { 
    header("Location: ../parts/signup.php?error=username"); 
    exit(); 
} else { 
    $enpwd = password_hash($pwd, PASSWORD_DEFAULT); 
    $sql = "UPDATE users (fname, lname, uid, pwd) 
    VALUES ('$fname', '$lname', '$uid', '$enpwd')"; 

    $result = mysqli_query($conn, $sql); 
    header("Location: ../index.php");} 
} 

----- Login.inc.php:

<?php 
session_start(); 
include '../dbh.php'; 

$uid = $_POST['uid']; 
$pwd = $_POST['pwd']; 

$sql = "SELECT * FROM users WHERE uid='$uid'"; 
$result = mysqli_query($conn, $sql); 
$row = mysqli_fetch_assoc($result); 
$hash_pwd = $row['pwd']; 
$hash = password_verify($pwd, $hash_pwd); 

if ($hash == 0) { 
    header("Location: ../index.php?error=empty"); 
} else { 
    $sql = "SELECT * FROM users WHERE uid='$uid' AND pwd='$hash_pwd'"; 
    $result = mysqli_query($conn, $sql); 

    if (!$row = mysqli_fetch_assoc($result)) { 
     echo "Your username or password is incorrect!"; 
    } else { 
     $_SESSION['id'] = $row['id']; 
    } 
    header("Location: ../pages/dashboard.php"); 
} 
?> 

--------- Sidebar:

<?php 
    session_start(); 
    if(!isset($_SESSION['id'])){ //if login in session is not set 
     header("Location: ../index.php"); 
    } 
    include '../include/idtouser.sinc.php'; 
    ?> 
    <!DOCTYPE html> 
    <html> 
    <head> 
     <meta charset="utf-8"> 
     <title>LoginSystem</title> 
     <link rel="stylesheet" href="../css/global.css" type="text/css"> 
    </head> 
    <body> 
    <header id="closeNav"> 
     <nav> 
       <div onclick="toggleNav()" id="star"><span class="hamburgerico">☰</span></div> 
       <div class="profilePicture"></div> 
       <div id="username">Username</div> 
       <div id="rank"><p>Rank</p></div> 

      <ul> 
       <li><a href="#">Dashboard</a></li> 
       <li><a href="#">Projects</a></li> 
       <li><a href="#">Placeholder</a></li> 
       <li><a href="#">Placeholder</a></li> 
       <li><a href="#">Placeholder</a></li> 
       <li><a href="../include/logout.inc.php">Log Out</a></li> 
      </ul> 
     </nav> 
</header> 

Was wäre der richtige Weg für mich, dies zu tun?

ungeklärte Frage: UND - Gibt es eine Möglichkeit, ich könnte meine Reihen (1,2,3,4,5) zum tatsächlichen Rang Namen übersetzen, bevor sie in der Sidebar veröffentlichen?

+0

Echo aus einem Haus gemacht Signup-Skript in 2016 nicht so widerhallen und richtig. – e4c5

+0

Ihr Skript ist anfällig für sql Injektionen –

+0

@MasivuyeCokile Ich weiß, ich habe das noch nicht behoben, ich bin mir dessen bewusst: D – Deeze

Antwort

1

In Login-Seite, fügen Sie diese:

$_SESSION['uid']  = $row[1]; 

Es sei row [1] enthält die Benutzer-ID oder Benutzername

dann in der Seitenleiste:

<?php echo $_SESSION['uid']; ?> 

Ich weiß nicht, was die Rang ist für, aber Sie können den Rang in ähnlicher Weise wie der Benutzername

+0

Hey, nicht sicher, warum, aber das hat nicht für mich funktioniert (?) Ich bearbeitet $ Zeile [1] bis 2 wie das ist, was meine UID ist, aber es funktioniert immer noch nicht (?) – Deeze

+0

NVM !!! Ich musste mich nur neu anmelden und es funktioniert gut, danke :) – Deeze

+0

Könnte ich noch eine Frage stellen, wenn Ränge "1-> 5" sind, wie kann ich das in einen tatsächlichen Rang übersetzen, bevor ich es in der Seitenleiste ablege? : D – Deeze

Verwandte Themen