值没有传递到php中的if语句

时间:2011-08-05 20:07:30

标签: php mysql

这是我遇到的问题,我发现它很奇怪。 我试图获取在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声明中。

知道为什么会这样吗?

3 个答案:

答案 0 :(得分:0)

  

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

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

此外,请务必使用var_dump代替echo来调试$id,因为如果$idnull

答案 1 :(得分:0)

确保使用 - &gt;可以访问该变量$ GLOBALS

试试这个

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

答案 2 :(得分:0)

我发现了什么是错的。
问题是我在再次提交后尝试访问值,这实际上会使值NULL

我已使用<input type='hidden'>再次传递该值。