要在PHP中實現登錄后顯示用戶信息,首先需要以下步驟:
以下是一個簡單的示例代碼:
登錄頁面(login.php):
<!DOCTYPE html>
<html>
<head>
<title>登錄頁面</title>
</head>
<body>
<h2>登錄</h2>
<form action="login_process.php" method="post">
<label for="username">用戶名:</label>
<input type="text" name="username" id="username" required><br>
<label for="password">密碼:</label>
<input type="password" name="password" id="password" required><br>
<input type="submit" value="登錄">
</form>
</body>
</html>
登錄處理頁面(login_process.php):
<?php
session_start();
// 假設數據庫中有一個用戶表,包含用戶名和密碼字段
$users = [
['username' => 'user1', 'password' => 'pass1'],
['username' => 'user2', 'password' => 'pass2'],
['username' => 'user3', 'password' => 'pass3']
];
$username = $_POST['username'];
$password = $_POST['password'];
// 驗證用戶名和密碼是否匹配
$loggedIn = false;
foreach ($users as $user) {
if ($user['username'] === $username && $user['password'] === $password) {
$loggedIn = true;
break;
}
}
if ($loggedIn) {
// 登錄成功,將用戶信息存儲在session中
$_SESSION['username'] = $username;
$_SESSION['userId'] = 123; // 假設用戶ID為123
header('Location: profile.php'); // 重定向到用戶信息頁面
} else {
// 登錄失敗,返回登錄頁面
header('Location: login.php');
}
?>
用戶信息頁面(profile.php):
<?php
session_start();
// 檢查用戶是否已登錄
if (!isset($_SESSION['username'])) {
header('Location: login.php');
exit();
}
// 獲取用戶信息
$username = $_SESSION['username'];
$userId = $_SESSION['userId'];
// 展示用戶信息
echo "用戶名:$username<br>";
echo "用戶ID:$userId";
?>
在這個示例中,用戶在登錄頁面輸入用戶名和密碼后,表單將被提交到登錄處理頁面(login_process.php)。在登錄處理頁面中,通過驗證用戶名和密碼是否與數據庫中的數據匹配,如果驗證成功,則將用戶信息存儲在session中,并重定向到用戶信息頁面(profile.php)。在用戶信息頁面中,通過session獲取用戶信息,并進行展示。如果用戶未登錄或session中沒有存儲用戶信息,則會被重定向回登錄頁面。