PHPでログイン後にユーザー名を表示する方法
ログイン後にユーザー名を表示させるためには、以下の手順に従ってください。
- ユーザー名とパスワードの入力欄とログインボタンを含むログインページを作成する。
- ログインを処理するスクリプトを作成し、ユーザーが入力したユーザー名とパスワードが合っているかどうかを確認します。合っていれば、セッションにユーザー名を保存します。
- ログイン後の画面では、セッションから取得したユーザー名を画面に表示する。
以下に簡単なサンプルコードを示します。
ログインページ(login.php):
<form action="login_process.php" method="POST">
<label for="username">用户名:</label>
<input type="text" id="username" name="username">
<label for="password">密码:</label>
<input type="password" id="password" name="password">
<input type="submit" value="登录">
</form>
ログイン処理スクリプト(login_process.php):
<?php
session_start();
// 假设这里有一个用户数组,用于验证用户名和密码
$users = [
['username' => 'admin', 'password' => 'admin123'],
['username' => 'user1', 'password' => 'pwd123'],
['username' => 'user2', 'password' => 'pwd456'],
// 其他用户...
];
// 获取用户输入的用户名和密码
$username = $_POST['username'];
$password = $_POST['password'];
// 查找匹配的用户
$matchedUser = null;
foreach ($users as $user) {
if ($user['username'] === $username && $user['password'] === $password) {
$matchedUser = $user;
break;
}
}
if ($matchedUser) {
// 登录成功,将用户名保存到会话中
$_SESSION['username'] = $matchedUser['username'];
header('Location: welcome.php'); // 重定向到欢迎页面
} else {
// 登录失败,跳转回登录页面
header('Location: login.php?error=1');
}
?>
WELCOMEページ(welcome.php):
<?php
session_start();
// 检查会话中是否有保存的用户名
if (isset($_SESSION['username'])) {
$username = $_SESSION['username'];
echo '欢迎,' . $username . '!';
} else {
header('Location: login.php'); // 如果没有登录,重定向到登录页面
}
?>
この例では、ログイン状態とユーザー名を保持するためにセッションが使用されています。ログインの成功時にユーザー名がセッションに保存され、ようこそページで読み込まれて表示されます。ユーザーがログインしていない場合やセッションがタイムアウトした場合、ログインページにリダイレクトされます。
実際のログイン機能ではより複雑な認証とセキュリティ対策が必要ですから、あくまで単なる例であることに注意してください。