我有一个奇怪的问题,在服务器上不起作用:
session_start();
$quser = new Quser($_SESSION['$fb_user_id'], $pdo);
但是,这似乎没问题:
session_start();
$x = $_SESSION['fb_user_id'];
$quser = new Quser($x, $pdo);
当然,在localhost
第一个选项工作正常。到底是怎么回事?对此有任何限制吗?
答案 0 :(得分:5)
由于$_SESSION['$fb_user_id']
和$_SESSION['fb_user_id']
之间存在差异。请注意变量的拼写。
答案 1 :(得分:1)
因为您在变量数组维度上使用单引号,所以它正在寻找名为“$ fb_user_id”的维度而不是您的变量。
跟随
$quser = new Quser($_SESSION[$fb_user_id], $pdo);
答案 2 :(得分:0)
您必须启用完整错误报告。例如,您可以将其预先添加到您的代码中:
<?php
ini_set('display_errors', TRUE);
error_reporting(E_ALL | E_STRICT);
?>
只要您使用这些设置运行代码,PHP就会警告您代码所具有的未定义变量; - )