2012-05-05 10 views
0

上記のフィールドが存在するかどうかはチェックされていません。私は問題を発見array_mergeを使用して関数を作成する

(in the includes file) 
function check_required_fields ($required_array){ 
    $error = array(); 
    foreach($required_array as $fieldname){ 
     if (!isset($_POST[$fieldname]) || (empty($_POST[$fieldname]) && $_POST[$fieldname] != 0)) { 
      $error[] = $fieldname; 
     } 
    } 
    return $error; 
} 

In the Source File: 
$error = array(); 
$required_field = array('username','password','fullname','repeatpass','email'); 
$error = array_merge($error , check_required_fields($required_field , $_POST)); 
+0

問題が何であるかは分かりませんが、私が見ることの1つは、check_required_fieldsに渡された2番目の引数を使用していないことです。それは問題ではありませんが、まだ面白いです。 – DCoder

答えて

0

$error = array(); 
$field_sets = array('username','password','fullname','repeatpass','email'); 
foreach($field_sets as $fieldname){ 
    if (!isset($_POST[$fieldname]) || (empty($_POST[$fieldname]) && $_POST[$fieldname] != 0)) { 
     $error[] = $fieldname; 
    } 
} 

セカンドバージョン:バージョン

最初のバージョンの両方。私は誤って&&をロジックに入れました。 &&の代わりに||にする必要があります。

  if (!isset($_POST[$fieldname]) || (empty($_POST[$fieldname]) || $_POST[$fieldname] != 0)) 
関連する問題