0

私は次のコードを持っています:

    if(isset($_POST['login'])){

    $check = $_POST['theemail'];
    if (preg_match("/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$/", $check)){ 

    echo 'Email is valid ';
    }  

    }

        <form method="post" action="" autocomplete="off"> 


    <p align="right">Email <BR><input type="text" name="theemail" size="20" /></p>
    <p align="right"><input type="submit" name="register" value="Register" /></p>
    <p align="right"><a href="index.php">register</a></p>

   </form>

このコードは、ユーザーがフォームを送信したときに電子メールが有効な形式(name@host.com)であるかどうかを確認し、機能します。私の問題は、フォームを送信するときにpreg_matchから特定のコンテンツを取得して、ユーザーにエコーしようとしたときです。

例:ユーザーが次の電子メールを送信しました:john@gmail.com

ユーザーに見返りとして表示されるようにしたいと思います:echo'Hello john(johnの代わりに変数$、またはそれを表示するものになります)。メールのホストは次のとおりです。gmail.com(Gmailの代わりに、可変の$またはそれを表示するものになります)。

後でエコーで表示するために、コード内の特定のスポットの周りにdivを作成しようとしましたが、成功しませんでした。どんな助けでも適用されます!

4

1 に答える 1

1

私はこのようにそれをしたでしょう:

<?php
if(isset($_POST['register'])){
$check = $_POST['theemail'];
if (preg_match("/^([_a-z0-9-]+(\.[_a-z0-9-]+)*)@([a-z0-9-]+(\.[a-z0-9-]+)*)(\.([a-z]{2,3}))$/", $check, $match)){ 
echo 'Hello ' . $match[1] . ' your email address domain is '. $match[3] . '.' . $match[6];
} else {
echo 'Error, you entered an invalid email address';
}
}
?>

<form method="post" action="" autocomplete="off"> 
<p align="right">Email <BR><input type="text" name="theemail" size="20" /></p>
<p align="right"><input type="submit" name="register" value="Register" /></p>
<p align="right"><a href="index.php">register</a></p>
</form>

これにより、次のように出力されます。

こんにちはジョンあなたのメールアドレスドメインはdoe.comです

または、メールアドレスが無効な場合:

エラー、無効なメールアドレスを入力しました

そして、すべての場合において、それは再びフォームを表示します。

于 2012-12-31T12:29:07.620 に答える