PHP登录以显示详细信息
该网站有一个登录系统,但是当用户登录到该网站时,我只是希望他们的详细信息显示在下一页上。这是我的代码,我到目前为止。问题是,我只想显示登录用户的详细信息,而不是所有数据库的详细信息PHP登录以显示详细信息,php,Php,该网站有一个登录系统,但是当用户登录到该网站时,我只是希望他们的详细信息显示在下一页上。这是我的代码,我到目前为止。问题是,我只想显示登录用户的详细信息,而不是所有数据库的详细信息 <?php $servername = "localhost"; $username = "root"; $password = ""; $dbname = "loginsystem"; // Create connection $conn = new mysqli($servername, $usernam
<?php $servername = "localhost"; $username = "root"; $password = ""; $dbname = "loginsystem";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "SELECT id, firstname, lastname FROM members";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
echo "<table><tr><th>ID</th><th>Name</th></tr>";
// output data of each row
while($row = $result->fetch_assoc()) {
echo "<tr><td>" . $row["id"]. "</td><td>" . $row["firstname"]. " " . $row["lastname"]. "</td></tr>";
}
echo "</table>";
} else {
echo "0 results";
}
$conn->close();
?>
登录系统
<?php
session_start();
if (isset($_POST['username'])) {
include_once("dbConnect.php");
// Set the posted data from the form into local variables
$usname = strip_tags($_POST['username']);
$paswd = strip_tags($_POST['password']);
$usname = mysqli_real_escape_string($dbCon, $usname);
$paswd = mysqli_real_escape_string($dbCon, $paswd);
$sql = "SELECT id, username, password FROM members WHERE username = '$usname' AND activated = '1' LIMIT 1";
$query = mysqli_query($dbCon, $sql);
$row = mysqli_fetch_row($query);
$uid = $row[0];
$dbUsname = $row[1];
$dbPassword = $row[2];
// Check if the username and the password they entered was correct
if ($usname == $dbUsname && password_verify($paswd,$dbPassword)) {
// Set session
$_SESSION['username'] = $usname;
$_SESSION['id'] = $uid;
// Now direct to users feed
header("Location: MemberDetails.php");
} else {
echo "Oops that username or password combination was incorrect.
<br /> Please try again.";
}
}
?>
添加
到页面的顶部,然后再到下一页,然后您将能够在设置这些变量后继续这些变量
例如:
$_SESSION['user'] = $_POST['user'];
然后在下一页调用:
echo $_SESSION['user'];
您首先必须实现用户登录部分。然后,获取指定的用户id或登录凭据并在查询中使用 在登录系统文件中,放入
session_start()代码>在包括数据库连接之前
然后在“成员详细信息”页面中执行以下操作:
session_start(); //put this on the first line.
此时,您的查询将如下所示:
<?php
$servername = "localhost"; $username = "root"; $password = ""; $dbname = "loginsystem";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$user_id = $_SESSION['id'];
$sql = "SELECT user_id, firstname, lastname FROM members WHERE user_id = ".$user_id;
$result = $conn->query($sql);
if ($result->num_rows > 0) {
echo "<table><tr><th>ID</th><th>Name</th></tr>";
// output data of each row
while($row = $result->fetch_assoc()) {
echo "<tr><td>" . $row["id"]. "</td><td>" . $row["firstname"]. " " . $row["lastname"]. "</td></tr>";
}
echo "</table>";
} else {
echo "0 results";
}
$conn->close();
?>
数据库结构
顺便说一下,您的代码与您的问题并不匹配。当您只需要一个数据集时,为什么要查询数据库以返回所有用户?不知何故,这毫无意义。嗨,谢谢你的反馈,我已经编辑了这个问题。我还添加了新的答案,它显示了我正在使用的登录系统。谢谢您好,谢谢您的快速响应,我已经在网站的一部分添加了我的登录代码。您好,谢谢您的快速响应,我已经上传了我的登录系统,您能检查一下它是否正确吗?。谢谢我已经更新了我的答案以考虑到你的代码。这应该行得通。当你实现了答案后再联系我。我已经在代码中添加了session_start()。我有点困惑,你在哪里“然后运行你的查询:$user_id=$\u SESSION['id'];”这部分在哪里起作用?谢谢你的帮助我已经更新了你的全部代码。$user\u id=$\u SESSION['id']
就在那里的某个地方。您好,谢谢,我不知怎的遇到了一个致命的错误:调用未定义的函数mysqli\u real\u escape()
<?php
$servername = "localhost"; $username = "root"; $password = ""; $dbname = "loginsystem";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$user_id = $_SESSION['id'];
$sql = "SELECT user_id, firstname, lastname FROM members WHERE user_id = ".$user_id;
$result = $conn->query($sql);
if ($result->num_rows > 0) {
echo "<table><tr><th>ID</th><th>Name</th></tr>";
// output data of each row
while($row = $result->fetch_assoc()) {
echo "<tr><td>" . $row["id"]. "</td><td>" . $row["firstname"]. " " . $row["lastname"]. "</td></tr>";
}
echo "</table>";
} else {
echo "0 results";
}
$conn->close();
?>