2011-09-20 131 views
0

我有一个非常非常奇怪的问题,我无法看到...Isset包括后不工作

我倾向于在脚本中通过AJAX返回的东西“检查”,所以,如果你没有给POST或GET一些关键的值,它将不起作用。

所以,在我的剧本我有这样的:

if (isset($_GET['end'])){ 

do something; 
} 
else 
die ('You are doing it wrong'); 

所以,有这个网址:

calendarEvents.php?start=1314568800&end=1317592800&_=1316538623362 

应通过isset。事实上,如果我回应isset的结果,甚至是它本身,它就是正确的。严重的是,什么是错的?

编辑:结果的var_dump

array 
    'start' => string '1314568800' (length=10) 
    'end' => string '1317592800' (length=10) 
    '_' => string '1316538623362' (length=13) 

编辑再次:

我这里有包括一个文件,它有另一个包括内。如果我将这两个文件都包含在失败的文件中,它将起作用,但是如果包含那些包含另一个文件的文件则失败。没有启动允许PHP内...

顺便说一句...感谢downvoting。我希望有人解释为什么一个真实问题的有效问题被低估,因为不知道如何解决它?

+0

你在寻找什么行为? – Vap0r

+1

我试过这个,它工作正常。发生在你身上的事情是,'死刑'条款被执行了吗? – danishgoel

+0

我只是想避免你以错误的方式或从错误的脚本中调用它。如果有人尝试手动输入此脚本,则不会看到任何异常,因为它不会尝试不做任何事情。 –

回答

0

我在这里包含一个文件,里面有另一个文件。如果我将这两个文件都包含在失败的文件中,它将起作用,但是如果包含那些包含另一个文件的文件则失败。在PHP内部不允许使用...

0

如果您的网址是从网页提交的,它可能会将&end解释为实体并向服务器提交无效的网址。

+0

事实并非如此,事实上,echo isset($ _ GET ['end'])输出1 –