почему не работает? - PullRequest
       11

почему не работает?

0 голосов
/ 04 апреля 2011
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;

сообщение об ошибке всегда пусто, независимо от того, какой ввод.

Ответы [ 2 ]

1 голос
/ 04 апреля 2011

Вы используете троичный оператор, но в то же время вы делаете спагетти из своих сообщений об ошибках. Так не идет :)

if(strlen($_POST["link"]) > 5){
    $link = $_POST["link"];
}else{
    $errors[] = "Please enter a link for the article.";
}
1 голос
/ 04 апреля 2011

Попробуйте это:

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;

Тернарный оператор имеет более высокий приоритет , чем оператор присваивания.

...