有与该主题相关的类似问题,但没有一个解决了我的问题。这有点奇怪,但我的 $_SESSION 在同一页面上工作,但不在任何其他页面上工作。如果我输入 isset($_POST['submit') 条件不满足并且没有它 $_SESSION 保持为空。这是我的代码。这是登录页面。<!-- Login.php --><?phpsession_start();?><html><body><form method="post" action="profile.php"><fieldset><legend>Login</legend><label> User ID :</label> <input type="text" placeholder="Username" name="user"><br><label> Password :</label> <input type="password" placeholder="Password" name="password"><input type="submit" name="submit" value="Login"></fieldset></form></body></html><?phpif(isset($_POST['submit'])){$_SESSION['USER']= $_POST['user'];$_SESSION['PASS']=$_POST['password'];}?>这是我希望我的会话变量出现的地方。<!-- profile.php --><?phpsession_start();echo "Session user is ".$_SESSION['USER']."<br>";unset($_SESSION['USER']);unset($_SESSION['PASS']);session_unset();session_destroy();?>这是我试过的:将表单方法更改为 GET。使用 $_REQUEST 和 $_GET。在同一页面上使用 $_SESSION。它在同一页面上工作。检查会话 ID。其他页面上的会话存在,但值为 null 或空。在没有 isset() 的情况下运行代码。在那种情况下,所有会话变量都保持为 NULL。
1 回答
慕容3067478
TA贡献1773条经验 获得超3个赞
$_POST['submit']并且其余的帖子参数在中不可用Login.php 它们仅在中可用profile.php,因为您的表单操作指向它。
您可以将以下代码移到session_start()in之后profile.php。
if(isset($_POST['submit'])){
$_SESSION['USER']= $_POST['user'];
$_SESSION['PASS']=$_POST['password'];
}
请记住,您在结束时取消设置会话值profile.php
- 1 回答
- 0 关注
- 84 浏览
添加回答
举报
0/150
提交
取消