回答的问题:
因此,我已经对我的网站进行了登录和注册,但是现在我想在侧边栏中添加用户名和排名。但是我不知道该怎么做,这就是为什么我要问你求助。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)张贴到边栏中之前,有没有办法将我的等级(1、2、3、4、5)转换为实际的等级名称?
在登录页面中,添加以下内容:
$_SESSION['uid'] = $row[1];
假设第[1]行包含用户标识或用户名
然后在侧边栏中:
<?php echo $_SESSION['uid']; ?>
我不知道等级是什么,但您可以用与用户名类似的方式回显等级
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句