2012-08-07 101 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>'; 
}