【发布时间】:2017-05-04 09:32:35
【问题描述】:
已回答的问题:
所以我已经为我的网站添加了登录和注册功能,但现在我会 喜欢将用户名和排名添加到侧边栏..但我不能 弄清楚如何做到这一点,这就是我向你寻求帮助的原因。 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");} }----- 登录.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 年自制的注册脚本听起来不太对。
-
您的脚本容易受到 sql 注入的攻击
-
@MasivuyeCokile 我知道,我还没有解决这个问题,不过我知道:D