如何销毁离开页面的细节 $_SESSION 变量?

问题描述

我想在离开页面后取消设置一些特定的 $_SESSION 变量,但问题是我对网站的所有部分 ($_GET等等 ...)。 对于所有部分,都有过滤器,如果设置,则保存在某些 contacts.PHP?page=1,?page=2,etc; actions.PHP?page=1,?page=2 etc .; customers.PHP?page=1, 变量中。这些变量在从 $_SESSION 传递到 ?page=1 等时必须保持设置,但必须通过从 ?page=2 切换到 contacts.PHP 来停用它,否则在 actions.PHP 中我将有我在 actions.PHP 中设置的过滤器!

谢谢! PS对不起我的英语

解决方法

您可以将键名设置为 null 或 ''。

例如

$_SESSION['key_name']='';
$_SESSION['key_name']=NULL;
,

会话由会话 ID 识别。如果您删除此 ID,整个会话(包含所有这些条目)将被删除。因此,您可以将特定值设置为“null”并通过这种方式删除它们。

您可以在下一页加载时执行此操作,也可以在“卸载时”使用 javascript。

,

要删除某些特定页面上的会话,重定向将一些变量传递给目标页面并检查该页面是否存在键,然后使用 unset 函数

unset($_SESSION['key_name'])

如果您想完全删除会话,请使用

session_destroy();