删除 URL 参数后保持 PHP 会话活动

Keep PHP session active after removing the URL parameter

我正在尝试获取 URL 参数的值并使用 PHP 会话将其保存到 JS 变量。

我的URL:domain.com/?id=MYID

我的PHP代码:

session_start(); 
$_SESSION['id'] = $_GET['id']; 

然后我将它保存在 JS 变量中:

<script type="text/javascript"> var id = '<?php echo $_SESSION['id']; ?>'; </script> 

我的问题是,即使我使用相同的浏览器访问 domain.com(第二次访问时没有 id 参数),是否可以保留 $_SESSION['id'] 的值?

我找到了解决方案。我正在定义 $_SESSION['id'] 即使没有 URL 参数。所以,当我访问没有 URL 参数的页面时,$_SESSION['id'] 仍然用 empty/nothing.

定义它的值

所以为了解决这个问题,我添加了一个 isset 条件来确保它只在参数发布时定义,否则保留旧的。

if(isset($_GET['id'])) { $_SESSION['id'] = $_GET['id']; }