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();

?>