こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

メールアドレスをフォーム入力する際

メアドをフォームで入力する際に下記ソースだと、全角文字や@無しなどがDBに入ってしまいます、どうやってメアドだけ入力出来るようにするのでしょうか?
<?php
$EMAIL = $_POST["EMAIL"];
$PWD = $_POST["PWD"];
$LUCKYNAME = $_POST["LUCKYNAME"];
$SEXTYPE = $_POST["SEXTYPE"];
$DateofBirthYear = $_POST["DateofBirthYear"];
$DateofBirthMonth = $_POST["DateofBirthMonth"];
$DateofBirthDay = $_POST["DateofBirthDay"];

if($EMAIL == ""or not"@" || $PWD == "" || $LUCKYNAME == "" || $SEXTYPE == "" || $DateofBirthYear == "" || $DateofBirthMonth == "" || $DateofBirthDay == "")

{
?>


<HTML>
<head>
</head>
<body>
<P>未入力もしくは未選択の項目があります。</p>
ブラウザのバックボタンで戻り入力内容を確認してください。
<?php
}
else
{
/* campaign.htmlからの送信データに未入力がない場合 */

?>
<p><b>間違いがないか確認して下さい。</b><p>
<form action="campaign3.php" method="post">
<table>
<tr>
<td>メールアドレス</td>
<td><?= $EMAIL ?></td>
</tr>

投稿日時 - 2005-09-16 20:05:47

QNo.1653655

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

正規表現の具体的な例ですが、
こんな感じの関数とか作っとくと
使いまわせてべんりですよ。

function mail_check($EMAIL) {
if(preg_match("/^[a-zA-Z0-9\"\._\?\+\/-]+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/", $EMAIL)){
return true;
} else {
return false;
}
}

投稿日時 - 2005-09-17 20:55:48

ANo.1

正規表現を使えば、メールアドレスの書式にあっているかぐらいはチェックできます。
正規表現は文字列の書式などをチェックする時に利用します。

検索ワード: php 正規表現 メールアドレス
で、結構な数がひっかかります。

投稿日時 - 2005-09-16 20:50:07

お礼

早速のご返答ありがとうございます、なんとか頑張ってみます。
ほかにも参考になりそうなものありましたら、宜しくお願い致します。

投稿日時 - 2005-09-16 21:02:20

あなたにオススメの質問