当找不到索引时,查找索引的值


Finding Value Of An Index When Index Not Found

我正在将一个站点迁移到一个新的服务器。

在第一个服务器上,站点运行良好。

在新服务器中,一些文件路径被更改为Server_Root_Dir_Path

我正在清除错误,其中2个错误是典型的和常见的

Notice: Undefined index: page in /home4/filepath/index.php on line 6
Notice: Undefined variable: admin in /filePAth/libraries.php on line 3
Notice: Undefined index: theme in /home4/filepath/index.php on line 6

我的问题是……

在这种情况下,我试图解决每个通知和错误。

从变量开始我想知道它的值既然它在服务器B上没有定义

转到服务器A和var_dump($admin);

在服务器A上是否有一些等效的类型来查看page or theme究竟是什么?

这是它们在实际文件中的方式,

if ($_GET["page"]=="my_home"){$_GET["page"]="my_handshakes";}

elseif($_COOKIE["theme"]){

我意识到我可以把isset添加到这些,但是当我做错误并注意清楚时,页面加载空白。

所以要清楚,

是否有一种方法,基本上var_dump页面或主题上的第一个服务器上的网站是完美运行的,看看他们的值应该是什么?

从你发布的代码,它正在寻找的变量是$_GET["page"]。"未定义索引"意味着它找到了$_GET数组,但其中没有键为"page"的项。

所以,首先,是的,你可以在你的工作服务器上var_dump($_GET["page"]),没有什么特别需要的。

其次,您应该知道$_GET表示当前加载页面的查询字符串,因此,除非有一些非常丑陋的代码在其中创建虚假条目,否则实际期望的是包含?page=something的URL。

最后,您是否尝试过将旧服务器设置为具有与新服务器相同的error_reporting设置?由于这些都是通知,完全有可能它们一直在那里,但被您的设置隐藏了,而页面的实际问题完全在其他地方。

我曾经面对过这个问题,原因是2:-

  1. 保持php版本>=5.3

  2. 禁用警告和通知,因为当我在本地主机上开发警告时,警告被禁用,而在实时服务器上它是启用的,因此我禁用了它们,这是好的…但是继续错误报告……请记住,我们有不同的错误级别,我得到的是警告,因此我禁用了它。

谢谢