PHP if/else同时执行

PHP if/else同时执行,php,if-statement,Php,If Statement,我的处境很奇怪。我不是PHP高手,但我不知道为什么,但我的代码在同一时间执行最后一个if/else,正如我猜想的,通常这是第一个或第二个选择 function schimbare_pw_confirmata() { if(isset($_POST['SubmitLostPasswordCodeForm'])) { $cont = $_SESSION['user']; $newpw = replace($_POST['newPassword'

我的处境很奇怪。我不是PHP高手,但我不知道为什么,但我的代码在同一时间执行最后一个if/else,正如我猜想的,通常这是第一个或第二个选择

    function schimbare_pw_confirmata()
{
    if(isset($_POST['SubmitLostPasswordCodeForm']))
    {
        $cont = $_SESSION['user'];
        $newpw = replace($_POST['newPassword']);

        if( (strlen($newpw) < 8) || (strlen($newpw) > 16) )
        {
            $error .= error("Parola trebuie s&#259; con&#355;in&#259; 8-16 caractere.<br>");
        }
        if( !preg_match("#[a-z]+#", $newpw) || !preg_match("#[A-Z]+#", $newpw) )
        {
            $error .= error("Parola trebuie s&#259; con&#355;in&#259; cel pu&#355;in o liter&#259;.<br>");
        }
        if( !preg_match("#[0-9]+#", $newpw) )
        {
            $error .= error("Parola trebuie s&#259; con&#355;in&#259; cel pu&#355;in o cifr&#259;.<br>");
        }
        if( !preg_match("#\W+#", $newpw) )
        {
            $error .= error("Parola trebuie s&#259; con&#355;in&#259; cel pu&#355;in un caracter special. (exemplu: <b>!@#$%^&*()[],./<>?</b>)<br>");
        }

        if($error)
        {
            echo $error;
        }
        else
        {
            mysql_query("Update account.account set password=PASSWORD('$newpw') where login='$cont'");
            mysql_query("Update account.account set passchange_token='1' where login='$cont'");
            $data = date("h:i:s d/m/Y");
            mysql_query("Insert into web.dev_player_log (account,data,actiune) values ('$cont','$data','Parola a fost schimbata in $newpw.')");
            echo succes("Parola a fost modificat&#259; cu succes.");
        }
    }
}
函数schimbare_pw_confirmatica()
{
如果(isset($\u POST['SubmitLostPasswordCodeForm']))
{
$cont=$\会话['user'];
$newpw=replace($_POST['newPassword']);
如果((斯特伦($newpw)<8)| |(斯特伦($newpw)>16))
{
$error.=error(“Parola trebuie să;con&355;ină;8-16字符,
”; } 如果(!preg#u匹配(#[a-z]+#“,$newpw)|!preg#u匹配(#[a-z]+#“,$newpw)) { $error.=错误(“Parola trebuie să;con&355;ină;cel pu&355;in o lă;
”; } 如果(!preg_match(#[0-9]+#“,$newpw)) { $error.=错误(“Parola trebuie să;con&355;ină;cel pu&355;in o cifră;
”; } 如果(!preg_匹配(“#\W+#“,$newpw)) { $error.=error(“Parola trebuie să;con&355;in&359;cel pu&355;in联合国字符特别版(示例:!@$%^&*()[,./?)
”; } 如果($error) { echo$错误; } 其他的 { mysql_查询(“Update account.account set password=password('$newpw'),其中login='$cont'); mysql_查询(“Update account.account set passchange_token='1',其中login='$cont'”; $data=日期(“h:i:s d/m/Y”); mysql_query(“插入web.dev_player_log(帐户、数据、活动)中)值(“$cont”、“$data”、“Parola a fost schimbata in$newpw.”); 回音成功(“口头修改和cu成功”); } } }
这里称为此函数:

<?php
    include ('inc/configurare.php');

    if(isset($_SESSION['user']) && isset($_SESSION['pass']))
    {
        if(isset($_GET['cod']) && $_GET['cod']!=NULL)
        {   
            $cod = replace($_GET['cod']);
            $log = $_SESSION['user'];
            $vrf = mysql_query("Select * from ".$account_db.".account where passchange_token='$cod' and login='$log'");

            if(mysql_num_rows($vrf)==0)
            {
                echo error("Link incorect sau expirat.");
            }
            else
            { 
            schimbare_pw_confirmata();
?> 
        <h4>Schimbare parol&#259;:</h4>
            Noua parol&#259; : 
            <form action="" method="POST">
                <input type="password" id="newPassword" name="newPassword" value="" maxlength="16" class="iRg_input"/>
                <input id="submitBtn" type="submit" name="SubmitLostPasswordCodeForm" value="Schimb&#259;" class="iR_stats"/>
            </form>
<?php   
            }   
        }
        else 
        {
?>
            <h4>SCHIMBARE PAROL&#258;:</h4>
<?php
            schimbare_pw();
?>
            Din motive de securitate trebuie să confirmi prin email inten&#539;ia de a schimba parola.<Br />
            Pentru a confirma apas&#259; pe linkul primit.<br>
            <div align="right">
                <form action="" name="passwordchangerequestForm" method="POST">
                    <input type="submit" name="passwordchangerequest"  class="buton" value="TRIMITE EMAIL CONFIRMARE"/>
                </form>
            </div>
<?php
        }
?>

<?php
    }
    else
    {
        echo "Zon&#259; restric&#539;ionat&#259;.";
    }
?>

已解决,将语法从
if($error){}else{}
更改为
if($error){}
,并且
else
变成
if(!count($error))
请不要垃圾邮件发送多个不相关的语言标记。asta e cel mai sigur mod;)这种方法不会一个接一个地打印所有的问题,这就是为什么我用count($error)优先选择这种方法。向我的合作伙伴致意。然后使用count;)
<?php
    function schimbare_pw_confirmata()
{
    if(isset($_POST['SubmitLostPasswordCodeForm']))
    {
        $cont = $_SESSION['user'];
        $newpw = replace($_POST['newPassword']);

        if( (strlen($newpw) < 8) || (strlen($newpw) > 16) )
        {
           echo $error = error("Parola trebuie s&#259; con&#355;in&#259; 8-16 caractere.<br>");
        }
        else if( !preg_match("#[a-z]+#", $newpw) || !preg_match("#[A-Z]+#", $newpw) )
        {
           echo $error = error("Parola trebuie s&#259; con&#355;in&#259; cel pu&#355;in o liter&#259;.<br>");
        }
        else if( !preg_match("#[0-9]+#", $newpw) )
        {
          echo  $error = error("Parola trebuie s&#259; con&#355;in&#259; cel pu&#355;in o cifr&#259;.<br>");
        }
        else if( !preg_match("#\W+#", $newpw) )
        {
          echo  $error = error("Parola trebuie s&#259; con&#355;in&#259; cel pu&#355;in un caracter special. (exemplu: <b>!@#$%^&*()[],./<>?</b>)<br>");
        }
        else
        {
            mysql_query("Update account.account set password=PASSWORD('$newpw') where login='$cont'");
            mysql_query("Update account.account set passchange_token='1' where login='$cont'");
            $data = date("h:i:s d/m/Y");
            mysql_query("Insert into web.dev_player_log (account,data,actiune) values ('$cont','$data','Parola a fost schimbata in $newpw.')");
            echo succes("Parola a fost modificat&#259; cu succes.");
        }
    }
}
?>