3

ユーザー登録フォームを作成していて、ユーザーの電子メール アドレスを検証したいと考えています。ただし、私が読んだすべてのphpドキュメントは、filter_varの使用を提案しています。私のスクリプトは、有効な電子メールを無効として検証します。動作するスクリプトを投稿するか、スクリプトを案内してください。彼女は私のスクリプトです:

     <?php
      if(isset($_POST['email'])== true && empty($_POST['email'])false)
      {
       $email = $_POST['email'];
      }
      if(filter_var($email,FILTER_VALIDATE_EMAIL)) 
      {
       echo"valid email";
      }
      else
      {
      echo"invalid email";
      }
     ?>
4

4 に答える 4

3
if(isset($_POST['email'])== true && empty($_POST['email'])false)

これは

if(isset($_POST['email']) && !empty($_POST['email']) )

または@jackとして使用できます

if (!empty($_POST['email']))

empty()暗黙的ですかisset()

于 2012-11-30T15:28:40.803 に答える
2
$email = isset($_POST['email']) ? $_POST['email'] : "";
echo(filter_var($email,FILTER_VALIDATE_EMAIL) ? "valid email" : "invalid email");
于 2012-11-30T15:31:55.453 に答える
0

あなたの場合、使用すべきではありませんfilter_varが、filter_input. 必要なコードはこれだけです。

if ($email = filter_input(INPUT_POST, 'email', FILTER_VALIDATE_EMAIL)) {
    // email was submitted and is a valid email
}

ただし、このバグはあなたの問題に関連している可能性があります。

于 2012-12-01T00:28:33.627 に答える
0
  if(isset($_POST['email'])== true && empty($_POST['email'])false)
                           ^^^^^^^--redundant               ^^^^^---typo?
于 2012-11-30T15:35:30.487 に答える