Php “为什么?”;获得;凌驾;会议“;
在守则中:Php “为什么?”;获得;凌驾;会议“;,php,get,Php,Get,在守则中: <?php session_start(); $_SESSION['id'] = 14; if(isset($_GET['id'])) { $id = $_GET['id']; } else { $id = $_SESSION['id']; } echo $id; echo "<br>"; echo $_SESSION['id']; ?>
<?php
session_start();
$_SESSION['id'] = 14;
if(isset($_GET['id']))
{
$id = $_GET['id'];
}
else
{
$id = $_SESSION['id'];
}
echo $id;
echo "<br>";
echo $_SESSION['id'];
?>
为什么回显的第二个值总是等于GET变量(假设有一个集)?这是一个错误的配置还是我遗漏了什么?我的魔法水晶球说你已经打开了设置。通过调用
phpinfo()
当启用register\u globals
时,$foo
和$\u SESSION['foo']
相互关联,但前提是$foo在全局范围内。这意味着给其中一个赋值,会导致另一个更新。将它们视为完全相同的变量
那个场景很古老。如果我没记错的话,$foo和$\u SESSION['foo']之间的引用只会在以下其中一项之后建立:
您应该强烈考虑禁用ReistSpGulax。像这样意外的程序行为正是该设置被阻止的原因,并最终从php中完全删除。
我假设它们不是巧合的14?这是您正在运行的实际代码吗?那么您是说echo$\u会话['id']代码>的回音与回音$id相同代码>即使$\u获得['id']!=14
?谢谢!这就解释了我极为奇怪的问题:)