更改if条件中的全局变量值,然后访问else中的值



我有一个全局变量在if语句中被更改,然后在else中访问,但它没有相同的值,并丢失了它的值:

global $reqUserID;
    if ($_SERVER['REQUEST_METHOD'] == 'POST'){
        if (isset($_POST['viewReq'])) {
            $requests = new requests();
            $results = $requests->getRequest($_POST['reqID']);
            $result = mysql_fetch_array($results, MYSQL_ASSOC))
            $GLOBALS['reqUserID'] = $result['USER_ID']; //CORRECT VALUE HERE
        }
        else if (isset($_POST['approveBtn'])) {
            $var1 = $GLOBALS['reqUserID'];
            $sql = "SELECT EMAIL FROM user_info WHERE USER_ID='$var1'";//SOME OTHER VALUE HERE
            [...]
        }

如果在"If"子句中设置值,则不会执行"else"子句,反之亦然。因此,您只能在语句的第二次迭代中使用'else'子句。然后,您需要了解变量是在哪里定义的,以及它们何时变得未定义。

在if-else构造的一次传递中,您可以在if构造或else构造中输入。因此,您在if部分中所做的更改在else-if构造中的代码中将不可见。

页面被发布到自己身上,而涉及的全局变量没有被发布以供使用,所以我在第一次传递时用全局变量的值填充了一个隐藏字段,并发布了该值,并在稍后使用_POST数组。

相关内容

  • 没有找到相关文章

最新更新