2016-12-19 5 views
-5

ANSWERED 질문 :가져 오는 사용자 이름

그래서 나는 내 웹 사이트에 로그인과 가입 기능을했습니다,하지만 지금은 이름의를 추가하고, 사이드 바에 위 ..하지만 것을 이걸하는 방법을 알아 내면 을 찾을 수 없으며, 이것이 내가 당신에게 도움을 요청하는 이유입니다. 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"); 
} 
?> 

--------- 사이드 바 :

<?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> 

나를 위해 올바른 방법은 무엇입니까?

답변이없는 질문 : 와 - 나는 사이드 바에서 그들을 게시하기 전에 실제 순위 이름으로 내 순위 (1,2,3,4,5)를 번역 할 수있는 방법이 있나요?

로그인 페이지에서
+0

2016 년에 만든 가입 스크립트는 그렇지 않습니다. 오른쪽. – e4c5

+0

당신의 스크립트는 SQL 인젝션에 취약합니다 –

+0

@MasivuyeCokile 알다시피, 나는 그것을 아직 고치지 않았습니다 : D – Deeze

답변

1

이 추가 :

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

내가 무엇을 잘 모릅니다 :

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

가정 해 보겠습니다 행 [1] 사용자 ID 또는 사용자 이름 사이드 바에서 다음

을 포함 순위는 사용자 이름과 비슷한 방식으로 순위를 표시 할 수 있습니다.

+0

어째서 왜 그런데 왜 이것이 작동하지 않았는지 (?) 나는 $를 편집했습니다. 행 [1]을 2로 내 UID는 무엇입니까,하지만 여전히 작동하지 않습니다 (?) – Deeze

+0

NVM !!! 다시 문 열어줬으면 좋았어. 고마워. – Deeze

+0

순위가 "1 -> 5"이면 질문을 하나 더 할 수 있을까? 사이드 바에 게시하기 전에이를 실제 순위로 어떻게 변환 할 수 있습니까? : D – Deeze