Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/293.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
Php 会话变量值已更改_Php_Session - Fatal编程技术网

Php 会话变量值已更改

Php 会话变量值已更改,php,session,Php,Session,我使用session在我的php网站中存储一些数据,但是在某些页面中,当我在session中获取数据时,这些数据会发生一些变化,有时是相同的。 我搜索了很多,在网站上找到了一些答案 “如果您在上注册了全局变量,那么如果在代码中使用变量$id,您可能会看到类似的行为。作为测试,请尝试: <?php session_start(); $_SESSION['testing'] = 'Foo'; $testing = 'bar'; die($_SESSION['testing']); ?>

我使用session在我的php网站中存储一些数据,但是在某些页面中,当我在session中获取数据时,这些数据会发生一些变化,有时是相同的。 我搜索了很多,在网站上找到了一些答案

“如果您在上注册了全局变量,那么如果在代码中使用变量$id,您可能会看到类似的行为。作为测试,请尝试:

<?php
session_start();
$_SESSION['testing'] = 'Foo';
$testing = 'bar';
die($_SESSION['testing']);
?> 

"

帮助我,我在我的php文件中搜索过,但是我没有找到类似的变量,比如会话变量,那么问题出在哪里?? 给我一些关于php会话的细节,如果可能的话,推荐一些好书

编辑:

我已经使用
phpinfo()将php.ini设置为所有人所说的register_global off和than ckeck的问题功能并检查
寄存器\u global
是否关闭。 但过了一段时间,我用我的id登录,然后在我访问的mypage menu.php上,它更改了会话登录id,我自动登录了另一个帐户。
请帮助我

通过在php.ini文件中添加以下行来禁用Register\u Globals可能会解决此问题

register\u globals=Off

如果您使用的是共享Web托管服务,请执行以下操作:

  • 如果您有权访问/cgi-bin文件夹,请在其中创建自定义php.ini文件
  • 如果您没有访问权限,则在根文件夹中创建自定义php.ini文件
然后在php.ini文件中添加上述行

.htaccess
文件中添加以下代码行也可以解决问题


php\u flag register\u globals off

您不应该使用register globals,所以这不应该是一个问题

将此行添加到.htaccess,以便在运行register globals时禁用:

php_flag register_globals off

无法在运行时使用ini_set()完成此操作,因此您需要像前面的回答一样使用htaccess或php.ini。

如今,注册全局文件不太可能是您的问题。更可能是与a)存储实际会话数据的位置有关;以及b)“会话ID”如何从一个请求传输到下一个请求

首先要看的是,它告诉PHP将放入会话变量的数据存储在磁盘上的什么位置


另一部分稍微复杂一些,但是关于如何设置cookie,它让PHP知道如何加载相同的会话,而不是创建新的会话。您可能需要查看此cookie的生存期,或者它应用的范围(域/子域/URL路径)。请看一看,并大致通读PHP手册的该部分,以了解会话是如何工作的。

我是否必须在所有目录中添加PHP.ini?我已将其上载到/cgi-bin文件夹……它是否需要添加到public\u html中的其他文件夹???您只需要一个自定义PHP.ini文件。如果您的Web服务器支持htaccess文件,那么最好的解决方案是使用.htaccess文件。Web服务器支持htaccess,但当我将php_标志register_globals置于关闭状态时,请提供内部服务器error@Mehuldabhi检查你的php版本,如果仍然收到500-内部服务器错误,请联系你的服务提供商。。。