2012-08-07 163 views
0

我有這個,如果statmentPHP if語句ERRMSG

if(!empty($URL) && ($safe===true)){ 
//lots of code 
} 

是否有可能表現出不同的錯誤信息取決於什麼條件下失敗了嗎? 例如,如果$ URL爲空echo「URL empty」;
如果$ safe === false echo「GTFO」;

+1

如果兩者都不是真實的,你會想同時顯示消息? – 2012-08-07 05:11:04

+0

是的,這將是最好的。 – user1204032 2012-08-07 05:14:13

回答

1
if (empty($url)) 
    { 
     echo "URL empty"; 
    } 
    elseif ($safe === false) 
    { 
     echo "GTFO"; 
    } 
    else 
    { 
     //lots of code 
    } 
+1

結束使用這個! – user1204032 2012-08-07 06:32:37

1
} else { 
    if($safe === false){ 
    die("GTFO"); 
    } 
    if (empty($url)){ 
    echo "URL Empty."; 
    } 
} 
1

是;你可以使用else if聲明。

if (!empty($URL) && ($safe===true)) { 
    //lots of code 
} else if (empty($URL)) { 
    // report that url is empty 
} else if ($safe === false) { 
    // report that safe is false 
} 

或者,您可以使用else語句來報告if條件爲false。

+0

感謝瓦肯非常有幫助! – user1204032 2012-08-07 05:21:33

+0

隨時。一旦你解決了你的問題,不要忘記標記答案。 – Vulcan 2012-08-07 05:25:59

2

只需添加到您的代碼

else if(empty($URL) 
{ 
    echo "url empty"; 
} 

else if($safe===false) 
echo "Get Out"; // be polite ;) 
+0

我必須讓它'else if(!$ safe === true)'來顯示。首先回答,以便得到分數。謝謝! – user1204032 2012-08-07 05:21:11

+0

很高興幫助:) – 2012-08-07 05:22:50

+0

這隻會在一次顯示一條錯誤消息。 – 2012-08-07 05:23:33

1

我提出以下解決方案。它將允許您顯示多個錯誤並且只設置一次條件(而不是像提出的其他解決方案那樣具有如此多的條件和反條件)。

$errors = array(); 

if(empty($URL) { 
    $errors[] = 'URL empty'; 
} 

if($safe !== true) { 
    $errors[] = 'GTFO'; 
} 

if(empty($errors)) { 
    //lots of code 
} else { 
    echo '<ul>'; 
    foreach($errors as $error_message) { 
     echo '<li>' . $error_message . '</li>'; 
    } 
    echo '</ul>'; 
}