php foreach результаты - PullRequest
1 голос
/ 01 мая 2011
      foreach ($flr_array as $flr) {
          if (!($flr = trim($flr)))
              continue;
          //list($flr, $keyword) = explode('|', $flr, 2);
          $ip = '';
          $err_msg = isValidFLR($flr, $ip);
          if (!$err_msg) {
              list($randlink, $lastid, $scr) = addLink($flr, $ip);
              $flr = stripslashes($flr);
              $url_array[$i]['number'] = $i + 1;
              $url_array[$i]['flr'] = $flr;
              $url_array[$i]['flr_substr'] = (strlen($flr) > 33) ? substr($flr, 0, 33) . '...' : $flr;
              $url_array[$i]['randlink'] = $randlink;
              $url_array[$i]['fullrand'] = $config['indexurl'] . $config['mod_rewrite_char'] . $randlink;
              $url_array[$i]['scr'] = $scr;
              $url_array[$i]['id'] = $lastid;
              $url_array[$i]['flr_length'] = strlen($flr);
              $url_array[$i++]['randlink_length'] = strlen($config['indexurl'] . $config['mod_rewrite_char'] . $randlink);
              ////
              //$smarty->assign("flr_length", strlen($_REQUEST['flr']));
              //$smarty->assign("randlink_length", strlen($config['indexurl'] . $config['mod_rewrite_char'] . $randlink));
              ////
          } else {
                  js_alert($err_msg);
              }
      }

В функции isValidFLR это часть проверки капчи:

if ($config['captcha_check']) {
    if (verifyCaptcha() == false) {
        return 'Wrong code!';
    }
}

Допустим, в текстовой области я ввожу:

  1. google.com
  2. google.de
  3. google.net

и введите неверный код с картинки, поэтому он выдаст мне 3 сообщения неверного кода!Это случилось, я думаю, из-за foreach.Любые идеи, как сделать так, чтобы в foreach отображалось только одно сообщение об ошибке?

Ответы [ 2 ]

1 голос
/ 01 мая 2011

Ваш вопрос трудно понять, но я думаю, что вы правы (в foreach) ....

если err_msg <> '', то вы должны добавить break в свой код, чтобы выйти из foreach (если это то, что вы хотите).

0 голосов
/ 01 мая 2011
 else {
js_alert($err_msg);
break; //this will break out of for loop
//or return false if it a function

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...