带有撇号的PHP错误(GET - POST - SESSION变量)


PHP error with apostrophes (GET - POST - SESSION variables)

在我的本地主机上工作时,我使用$_GET['page'], $_SESSION[userid]等变量。但是当我在我的web服务器上使用这些代码时,它会在第一次使用带有引号的变量时停止执行PHP文件(例如在index.php文件中它是$_GET['page'])。

我删除了所有的省略号(如$_SESSION['userid'] -> $_SESSION[userid])。它工作了,但是出现了一些会话问题。

解决方案是什么?

只是一个猜测,没有代码。

如果你说它在没有引号的情况下工作,那么我认为变量是在双引号上下文中提到的。在这里,'将导致解析错误:

print " <a href=index.php?page=$_GET['page']>...</a> ";

最重要的是,这将是一个无声的致命错误,因为在那个非常indep .php脚本中添加error_reporting()将为时已晚。

没有解释模糊的会话问题,或者为什么它(据说)在测试服务器上工作。

撇号应该在那里,不放撇号会产生通知。如果您定义了一个名为userid的常量,那就很好理解了,但我对此表示怀疑。

我认为你应该检查一下网络服务器的日志。