我正在尝试在会话中使用$ _SESSION变量。我做了
<?php
session_start();
?>
在名为“ login.php”的文件的顶部。
然后我设置
if(isset($_POST["id"])) $_SESSION['ID'] = $_POST['id'];
(更新)当我使用此重定向到另一个页面时:
if($psword === $password){
//echo $_SESSION['ID'];
header("Location: memberMain.php");
die();
exit();
} else {
echo "Wrong Password.";
// remove all session variables
session_unset();
session_destroy();
}
,则$ _SESSION变量丢失。它给我Notice: Undefined variable: _SESSION in C:\xampp\htdocs\memberMain.php on line 18
我想这是因为该域的改变。
memberMain.php:
<!DOCTYPE html>
<html>
<head>
<title>Member Home</title>
</head>
<body>
<h1>Member Home</h1>
<a href="reservation.php">Make Reservation</a>
<br>
<a href="reviewMembership.php">Review Membership</a>
<br>
<a href="logoff.php">Log Off</a>
<br>
<a href="resetPassword.php">Reset Password</a>
<?php
echo $_SESSION['ID'];
?>
</body>
</html>
我正在使用XAMPP,所有文件都在localhost上运行,并且都存储在名为“ htdocs”的文件夹中。为什么变量丢失是没有意义的。
任何帮助表示赞赏。
您需要在要访问的每个页面上启动会话$_SESSION
。
<?php
session_start();
通常是每个使用会话的php文件的前2行。它是安全的,如果您希望能够$_SESSION
在这些页面上的任何地方使用变量,则必须使用它。
它与域更改(页面)无关。您的问题就是我上面所说的。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句