PHP会话变量由错误的变量定义

PHP会话变量由错误的变量定义,php,session,variables,Php,Session,Variables,当我转到这个页面时,变量$u SESSION['id']被定义为一个数字。但是在这个页面上,我定义了变量$id,然后当我打印$\u会话时,它将变量$\u会话['id']更改为'dd'。这怎么可能呢?你有。这会导致$id的声明覆盖$\u会话['id'],因为它们指向相同的位置 您应该关闭它,因为它已被弃用,并且可能会导致您遇到的问题 你有。这会导致$id的声明覆盖$\u会话['id'],因为它们指向相同的位置 您应该关闭它,因为它已被弃用,并且可能会导致您遇到的问题 只有两种方法可以让代码按规定工

当我转到这个页面时,变量$u SESSION['id']被定义为一个数字。但是在这个页面上,我定义了变量$id,然后当我打印$\u会话时,它将变量$\u会话['id']更改为'dd'。这怎么可能呢?

你有。这会导致
$id
的声明覆盖
$\u会话['id']
,因为它们指向相同的位置

您应该关闭它,因为它已被弃用,并且可能会导致您遇到的问题

你有。这会导致
$id
的声明覆盖
$\u会话['id']
,因为它们指向相同的位置


您应该关闭它,因为它已被弃用,并且可能会导致您遇到的问题

只有两种方法可以让代码按规定工作:

1) 您已经打开了register_globals,并且您的会话已经设置了
id
参数

这意味着您使用的是旧的php安装,和/或配置极为糟糕的php安装。Register_globals几乎是PHP历史上最愚蠢的一个,谢天谢地,它已经从“现代”PHP版本中被消除了

2) 您事先创建了一个引用,例如

<?php
session_start(); 
$id = 'dd';
print_r($_SESSION);
?>

只有两种方法可以使代码按规定工作:

1) 您已经打开了register_globals,并且您的会话已经设置了
id
参数

这意味着您使用的是旧的php安装,和/或配置极为糟糕的php安装。Register_globals几乎是PHP历史上最愚蠢的一个,谢天谢地,它已经从“现代”PHP版本中被消除了

2) 您事先创建了一个引用,例如

<?php
session_start(); 
$id = 'dd';
print_r($_SESSION);
?>