PHP:当我使用post时,if和else语句都会被触发


PHP: both if and else statements are fired when I use post

当我使用$_POST时,if和else语句都被执行。但奇怪的是,只有foreach循环被执行,"Flag is 0"被打印到屏幕上。如果我将$Flag = 1替换为$Flag = 0,在else语句中,循环不会执行。当我将"isset($_POST['Back'])"替换为"1"时,循环也不会执行,一切正常。那么,当我使用$_POST时,为什么else和if语句都执行了呢?谢谢你的任何输入

文件# 1

$Flag = 0;
    if (isset($_POST['Back']))
    { echo "Flag is 0";
        $Value = sqlsrv_fetch_array(sqlsrv_query($dbhandle,'SELECT MAX([Protocol Branch]) FROM Import_Trial_Information'),SQLSRV_FETCH_NUMERIC);
        $Value = $Value[0];
    }               
    else {$Flag = 1; echo "Flag is 1"; }
    if ($Flag)
    { 
        foreach ($Database_Tables AS $Delete)
        {
            $Query = 'DELETE FROM Import_' . $Delete;
            sqlsrv_query($dbhandle,$Query);
            if ($Delete == 'Paper_Information') {$Protocol = array('','');}
            else {$Protocol = array(',[Protocol Branch]',',1');}
            $Query = 'INSERT INTO Import_' . $Delete . '([Paper ID]' . $Protocol[0] . ') VALUES (' . (string)$ID . $Protocol[1] .')';
            sqlsrv_query($dbhandle,$Query);
        } 
        $Value = 1;
    }
文件# 2

<div id = "Back_Button">
<form action="Import_Article_Advanced.php" method = "POST"><button name = "Back" ID = "Back" Value = "Back">Return to Previous Page</button></form>
</div>

try this

  if (isset($_POST['Back']) OR !empty($_POST['Back']) OR $_POST['Back']!="" )
 { echo "Flag is 0";
    $Value = sqlsrv_fetch_array(sqlsrv_query($dbhandle,'SELECT MAX([Protocol Branch]) FROM        Import_Trial_Information'),SQLSRV_FETCH_NUMERIC);
    $Value = $Value[0];
}               
else {$Flag = 1; echo "Flag is 1"; }