Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/230.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
什么可以破坏$\u会话变量php?_Php_Session_Model View Controller - Fatal编程技术网

什么可以破坏$\u会话变量php?

什么可以破坏$\u会话变量php?,php,session,model-view-controller,Php,Session,Model View Controller,我正在用php开发一个webapp,我的会话只在应用程序的某些视图上被破坏,我似乎不知道为什么。我不能在这里上传所有代码,因为代码太多了,所以我想知道什么会破坏会话,我会查找问题。 奇怪的是,它发生在两个视图之间,例如,它完全加载第一个视图,没有问题(我在该视图末尾使用echo语句检查,以确保它仍然处于活动状态),当我单击链接时,会话变量在加载下一个视图之前被销毁 您可以使用会话_destroy()-函数销毁整个会话(以及所有的$\u会话-值),或者您可以使用unset-函数按键销毁值,就像$\

我正在用php开发一个webapp,我的会话只在应用程序的某些视图上被破坏,我似乎不知道为什么。我不能在这里上传所有代码,因为代码太多了,所以我想知道什么会破坏会话,我会查找问题。
奇怪的是,它发生在两个视图之间,例如,它完全加载第一个视图,没有问题(我在该视图末尾使用echo语句检查,以确保它仍然处于活动状态),当我单击链接时,会话变量在加载下一个视图之前被销毁

您可以使用
会话_destroy()
-函数销毁整个会话(以及所有的
$\u会话
-值),或者您可以使用
unset
-函数按键销毁值,就像
$\u会话
是一个数组一样。

始终确保正确使用
会话
启动()。在您使用会话的每个页面的顶部。会话一直在销毁,因为从未进行过会话。要使其正常工作,请确保已按以下示例设置会话启动:

<?php
session_start(); // Be on top
?>

<!DOCTYPE html>
<!-- The rest of your page


如果它只发生在特定视图上,是否有任何会话未设置或会话破坏?也许您需要在具有这些视图(链接)的控制器上添加会话_start()。(另请阅读关于会话\u开始部分)

您可以销毁所有会话阵列:

session_destroy()

或仅取消设置某些部分:

unset($_SESSION('your_thing']);
另一种方法是将数组的某些部分清空:

$_SESSION['your_thing'] ='';
所有操作都是正确的,但如果您销毁了所有会话,则必须在下一页设置会话_start();如果您想使用会话,但会丢失所有信息


最好的方法是使用unset或清空数组…

您是否使用
session_start()在每个页面上启动了会话?是,如果要加载页面,则必须调用控制器的构造函数