【发布时间】:2014-01-31 13:19:03
【问题描述】:
我在服务器端使用 php。如何在不破坏另一个会话的情况下销毁一个会话。让我解释。我创建了一个表单,而不是使用常规变量,而是使用会话变量。提交表单后,我在帖子末尾使用了 session_destroy() 以清除页面,但它也将我注销,从而破坏了登录会话。我怎么能在不破坏登录会话的情况下破坏表单会话变量。对不起,我真的很菜鸟。
【问题讨论】:
我在服务器端使用 php。如何在不破坏另一个会话的情况下销毁一个会话。让我解释。我创建了一个表单,而不是使用常规变量,而是使用会话变量。提交表单后,我在帖子末尾使用了 session_destroy() 以清除页面,但它也将我注销,从而破坏了登录会话。我怎么能在不破坏登录会话的情况下破坏表单会话变量。对不起,我真的很菜鸟。
【问题讨论】:
为了避免很多会话 unset() 你可以这样使用。
<?php
$_session["form_values"]["data1"]=form data1;
$_session["form_values"]["data2"]=form data2;
$_session["form_values"]["data2"]=form data3;
?>
保存值后,像这样取消设置。
<?php
unset($_session["form_values"]);
?>
希望这能拯救你。
【讨论】:
您可以像任何其他 PHP 变量一样删除会话变量:
unset($_SESSION['whatever']);
【讨论】:
函数session_destroy() 将完全删除会话。
session_destroy() 销毁与当前关联的所有数据 会议。它不会取消设置与 会话,或取消设置会话 cookie。使用会话变量 再次,必须调用 session_start()。
为了完全终止会话,比如注销用户, 会话 ID 也必须取消设置。如果使用 cookie 来传播 会话 id(默认行为),则会话 cookie 必须是 删除。 setcookie() 可以用于此。
使用unset($_SESSION['session_var']);
unset() 销毁指定的变量。
函数内部的 unset() 的行为可能会有所不同,具体取决于 你试图销毁什么类型的变量。
如果一个全局变量在函数内部是 unset(),只有 局部变量被破坏。调用环境中的变量 将保留与调用 unset() 之前相同的值。
【讨论】:
你可以使用 未设置($_SESSION['var']);
【讨论】:
您可以简单地使用 unset 清除特定会话
unset($_SESSION['session name here']);
【讨论】: