2011-05-01 110 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 

}