2016-06-01 5 views
-6

私はuser.howから正しい電子メールを提供するかどうかを確認する10の電子メールを取得したいですか?私は複数の方法を試していますが、それを確認するのに失敗しました。受信した配列を1つの入力フィールドから検証する方法

for($i=1;$i<=9;$i++) 
{ 
    echo "<input type='text' value='' name='email[]' class='form-control'>"."</br>"; 
} 

// Php Code 
// Step One Catch The Values 
$email = $_POST['email']; 
// Unset the empty values from array 
foreach($email =>$key as $emails){ 
if($emails == ""){ 
unset($email[$key]); 
} 
} 

ここで私は正常に終了しましたが、私はそれを検証しようとすると、私は私が直面していなかったエラーを返します。 入力フィールドからhtml特殊文字を削除し、電子メールの検証にfilter_varを使用して入力を検証したいと思います。私はループスルーメソッドでそれをやろうとしていますが、うまくいきません。

+0

あなたが受信エラーを提供してくださいだろうか? – tsg

+0

完全配列 – Apoorv

答えて

0

以下のコードを見てください。エンドユーザーからの入力として電子メールの配列を受け取っているとき。

if(count($_POST['email']) > 0) 
{ 
$pattern = "/^\[?[0-9\.]+\]?$/"; 
    foreach($_POST['email'] as $email) 
    { 
    if (preg_match($pattern, $email) === 1) { 
     // emailaddress is valid 
    } 
    } 
} 
0

あなたは間違った方法でforeachを書いています。メールアドレスがうまく形成されているかどうかを確認する最も簡単で安全な方法はfilter_var()機能を使用することですコード

foreach($email as $key=>$emails) 
{ 
    if($emails == "") 
    unset($email[$key]); 
} 
0

下にしてみてください:

if(count($_POST['email']) > 0) 
    { 
    $email = $_POST['email']; 
    foreach($email as $key => $emails) 
     { 
     if(!filter_var($emails, FILTER_VALIDATE_EMAIL)) 
     { 
      //invalid email 
      unset($email[$key]); 
     } 
     else 
     { 
      //valid email 
     } 
    } 
    } 
+0

で 'array_map()'関数を使用してください。Can not Remove配列から無効な値を取り除く:( –

関連する問題