为了账号安全,请及时绑定邮箱和手机立即绑定

无法在 php 中分配会话变量

无法在 php 中分配会话变量

PHP
慕的地6264312 2023-04-28 14:12:27
有与该主题相关的类似问题,但没有一个解决了我的问题。这有点奇怪,但我的 $_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


查看完整回答
反对 回复 2023-04-28
  • 1 回答
  • 0 关注
  • 84 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信