我是一个noob程序员,所以我提前为任何明显的错误道歉.过去一周我一直在创建一个产品数据库.我已经明白我可以使用表单添加产品,查看所有添加的产品等.我正在使用通过表单输入数据创建的会话.我正在努力将删除产品页面包含在内,我尝试使用unset来清除变量,但是不能让它工作得太好.
ADD Product页面,用于设置会话变量:
$_SESSION['Products'][] = $_POST; //is how i set the session on the add products page.
unset $_SESSION['Products'][]; //is how i have tried to clear the session although it does not work.
Run Code Online (Sandbox Code Playgroud)
正确方向的任何一点将不胜感激!
Tha*_*lan 80
您可以使用以下方法取消设置会话变
session_unset-释放所有的会话变量(它等于使用:$_SESSION = array();)unset($_SESSION['Products']); - 在会话变量中仅取消设置产品索引.(记住:你必须像功能一样使用,而不是像你使用的那样)session_destroy - 销毁注册到会话的所有数据要知道使用session_unset和之间的区别session_destroy,请阅读此SO答案.这有帮助.
Don*_*n D 12
取消设置是一个功能.因此,您必须提交必须销毁的变量.
unset($var);
Run Code Online (Sandbox Code Playgroud)
在你的情况下
unset ($_SESSION["products"]);
Run Code Online (Sandbox Code Playgroud)
如果需要重置整个会话变量只需调用
session_destroy ();
Run Code Online (Sandbox Code Playgroud)
如果您完全想清除会话,则可以使用以下命令:
session_unset();
session_destroy();
Run Code Online (Sandbox Code Playgroud)
实际上,两者都不是必需的,但不会造成伤害。
如果您只想清除特定部分,我认为您需要这样做:
unset($_SESSION['Products']);
//or
$_SESSION['Products'] = "";
Run Code Online (Sandbox Code Playgroud)
根据您的需要。
小智 5
如果有人出于与我相同的原因来访问此页面,我将提供此答案。我只是在浪费大量时间来寻找问题所在。我在打电话:
unset($_SESSION['myVar']);
Run Code Online (Sandbox Code Playgroud)
从注销脚本中。然后导航到需要登录的页面,服务器仍然认为我已登录。问题是注销脚本未调用:
session_start();
Run Code Online (Sandbox Code Playgroud)
除非首先启动会话,否则取消会话var无效。
| 归档时间: |
|
| 查看次数: |
126947 次 |
| 最近记录: |