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)를 번역 할 수있는 방법이 있나요?
로그인 페이지에서
2016 년에 만든 가입 스크립트는 그렇지 않습니다. 오른쪽. – e4c5
당신의 스크립트는 SQL 인젝션에 취약합니다 –
@MasivuyeCokile 알다시피, 나는 그것을 아직 고치지 않았습니다 : D – Deeze