我遇到了一个让我很困惑的问题。我正在使用 PHP 和 MySQL 处理登录屏幕。我设法针对数据库中的现有用户验证用户名和密码,之后,我启动一个会话,并将会话变量用户名设置为登录屏幕中提供的用户名。
$username = html($_POST['username']);
$password = html($_POST['password']);
$result = $pdo->prepare('SELECT * FROM users WHERE username = :username AND password = :password');
$result->bindValue(':username', $username);
$result->bindValue(':password', $password);
$result->execute();
foreach($result as $user)
{
$count = $count + 1;
}
if ($count == 1)
{
session_start();
$_SESSION['username'] = $username;
` //if I do an echo $_SESSION['username'] it displays the correct user
header('Location: .');
exit();`
}
然而,当它把我转移到 index.php 页面时,$_SESSION['username']
变量消失了,我不明白为什么。这是我在 index.php 中用于检查用户名的代码:
<p><a href="view.php">View all tasks</a></p>
<p><a href="form.php?add">Add your own task</a></p>
<p>Welcome, <?php echo $_SESSION['username']; ?></p>
但是我收到以下错误:Notice: Undefined variable: _SESSION in C:\xampp\htdocs\abcabcabc\index.php on line 16
所有的建议将不胜感激