簡體   English   中英

PHP If語句不起作用,我認為應該

[英]PHP If statement not working as I thought it should

我正在嘗試在表單上設置一些錯誤檢查,到目前為止,我有以下內容:

 if (empty($fname)) {
        $error = true;
        $error_fname = "Please fill in your first name";
    }else if (empty($lname)) {
        $error = true;
        $error_lname = "Please fill in your first name";
     }

盡管在第一個if語句中將字符串分配給變量$ error_fname是,但在第二個else if語句中不執行任何操作,但不會將錯誤分配給變量。

有什么幫助嗎?

如果滿足第一個條件,就永遠不會拋出第二個條件,不要使用if,而是使用兩個if並且還將錯誤放入數組中,否則如果同時滿足兩個條件,則可能會覆蓋它

$error_lname = array();
if (empty($fname)) {
    $error = true;
    $error_lname[] = "Please fill in your first name";
}
if (empty($lname)) {
    $error = true;
    $error_lname[] = "Please fill in your last name";
 }

如果您需要兩個單獨的錯誤,則可以使用不同的變量

if (empty($fname)) {
    $error = true;
    $error_fname = "Please fill in your first name";
}
if (empty($lname)) {
    $error = true;
    $error_lname = "Please fill in your last name";
 }

因為當它的名字變為姓氏而不是姓氏時,一次您會得到一個條件為真.. look @ firstname為空,錯誤firsname為true,如果..這不是您所需要的示例代碼,則它不會為第二個分別給條件..

if (empty($fname)) {
    $error = true;
    $error_fname = "Please fill in your first name";
}
 if (empty($lname)) {
    $error = true;
    $error_lname = "Please fill in your Last name";
 }
$error=false;
if (empty($fname)) {
        $error = true;
        $errors []= "Please fill in your first name";
    }

 if (empty($lname)) {
        $error = true;
        $errors[] = "Please fill in your last name";
     }


if($error)
  print_r($errors);

如果刪除“ else”,則可以解決此問題:

if (empty($fname)) {
        $error = true;
        $error_fname = "Please fill in your first name";
}
if (empty($lname)) {
        $error = true;
        $error_lname = "Please fill in your last name";
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM