值不会传入if语句if

问题描述:

这是我遇到的问题,我发现它很奇怪。 我想获取在if语句中网页开始处声明的值。但是,我得到一个空值。值不会传入if语句if

当我使用echo打印出if语句之前和if语句之后的值时,打印出该值。但是当我在IF语句中回显它时,它是空的。

下面是我如何申报的价格,并在这里我想用它

<?php 
    $id=$_POST['eventID']; 
    ?> 
    <html> 
    <body> 
    //some codes here.. 
    <?php 
     if($edit_counter==6) 
     {update_event($sdate,$edate,$stime,$etime,$event,$venue,$id);} 
    ?> 

我需要它来更新基于ID的表的地方。但由于一些奇怪的原因,我似乎无法通过$ id。 $ id包含IF语句前后的值。但不在IF声明中。

任何想法为什么发生这种情况?

+0

确保你没有在代码的其他地方设置'$ id'的值。 – js1568

+0

这不是很明显什么是错的。请粘贴'update_event'函数。 – cdhowie

+1

是$ id在需要/包含的其他文件中没有打印出来的部分吗? – blejzz

$ id包含IF语句前后的值。但不在IF声明中。

您确定if语句返回true并且内部代码正在执行吗?

此外,请务必使用var_dump而不是echo调试$id,回声不会显示的结果,如果$idnull

确保变量访问使用 - > $ GLOBALS

试这

<?php 
    if($edit_counter==6){ 
     $GLOBALS $id; 
     update_event($sdate,$edate,$stime,$etime,$event,$venue,$id); 
    } 
?> 
+0

安全方面,不建议使用Globals。 – Mob

+0

感谢您的所有回复, 到jernej $ id不会打印在同一个文件中。我上面给出的引用都在同一个文件中。我能够访问update_event。但值$ id不是通过。我展示宣言的地方是唯一宣布的地方。不过,我确实在代码中的其他地方使用了$ id。但我已经测试过,即使在那之后,价值仍然被打印出来。 到brian_d我确实使用了var_dump。它在IF语句中包含空值。但在IF语句之外,该值不为空 – kurapica

我发现什么是错的。
问题是我试图访问的价值再次提交,这实际上会使价值NULL。我使用<input type='hidden'>再次传递值。