0
strlen($_POST["link"]) > 5 ? $link = $_POST["link"] : $errormsg .= "Please enter a link for the article.<br />";
strlen($_POST["img_link"]) > 5 ? $img_link = $_POST["img_link"] : $errormsg .= "Please enter a image link for the article.<br />";
echo $errormsg;

无论输入是什么,错误消息始终为空。

4

2 回答 2

1

试试这个:

strlen($_POST["link"]) > 5 ? ($link = $_POST["link"]) : ($errormsg .= "Please enter a link for the article.<br />");
strlen($_POST["img_link"]) > 5 ? ($img_link = $_POST["img_link"]) : ($errormsg .= "Please enter a image link for the article.<br />");
echo $errormsg;

三元运算符的优先级高于赋值运算符。

于 2011-04-04T02:07:37.893 回答
1

您正在使用三元运算符,但与此同时,您正在从错误消息中制作意大利面条。不是那样的:)

if(strlen($_POST["link"]) > 5){
    $link = $_POST["link"];
}else{
    $errors[] = "Please enter a link for the article.";
}
于 2011-04-04T02:14:43.187 回答