2011-05-01 97 views
1
 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這些是驗證碼檢查的一部分:PHP的foreach結果

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

讓我們在textarea的說,我進入:

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

並輸入錯誤的captcha碼,所以它給了我3條消息錯誤的代碼! 這發生我認爲是因爲foreach。任何想法如何在foreach中只顯示一條錯誤消息?

+1

WUT? ............ – dynamic 2011-05-01 13:57:40

+0

你確定你不是指'if(!($ flr === trim($ flr))) '? (注意'===') – 2011-05-01 14:01:38

回答

1

你提的問題是很難理解,但我認爲你是正確的(在foreach)....

如果ERR_MSG <>「」那麼你應該把break在代碼中走出的foreach (如果這是你想要的)。

+0

啊,對不起,我的英語不是主要的。順便說一下,休息是做我想要的。 – ZeroSuf3r 2011-05-01 14:09:17

+0

@零 - 無後顧之憂。 – webdad3 2011-05-01 14:23:15

0
else { 
js_alert($err_msg); 
break; //this will break out of for loop 
//or return false if it a function 

}