メール確認のために2回入力する方法とは?

このQ&Aのポイント
  • メール確認のために2回入力する方法について教えてください。
  • 質問者は、htmlでページを作り、javaでチェックし、PHPに送っているそうです。メールには半角英数字や@マークが含まれていて、それに応じて処理を行っているようです。
  • 質問者は、アドレスを2回打たせることで相手のタイプミスによるエラーを防ぎたいと考えています。しかし、具体的な実装方法を知りたいとのことです。HPを検索しても詳細なページが見つからなかったため、他の方法で解決することも検討しています。
回答を見る
  • ベストアンサー

メールを確認のために2回入力。アドレスが違う場合、エラーとしたい

htmlでページを作り、javaでチェックし、PHPに送っています。 メールに、半角英数字や@マークがあったら、PHPに送るソースを作りました。 まず、ひらがなが入って無いかを確認。 ひらがなが入っていたら、javaで止めてエラーを表示させる。 英数字だったら、POSTで送信し、PHPに送っています ○print "メール: " . $POST[mail] . "<BR>"; 以前はこれで動かしていたのですが、 相手のタイプミスによって、こちらから返信するとエラーになることがあったことから、確認の為に、アドレスを2回打たせるようにしようと思っています。 1行テキストのボックスを2個作り、 全く同じデータが入っていた場合は送信。 違うデータが入っていたらエラーで返すというのは、javaで出来ますでしょうか? HPを検索しても、特に記述してあるページが無いので、作り方がわかりません。

noname#248169
noname#248169
  • Java
  • 回答数1
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

JavaではなくJavaScriptではありませんか? JavaScriptの文字列比較ならば。 <html> <head> <title>Untitled</title> <script type="text/javascript"> <!-- function compareStr(){ var str1 = f1.t1.value; var str2 = f1.t2.value; if ( str1 == str2 ){ alert("str1:" + str1 + "\nstr2:" + str2 + "\nstr1とstr2は同一文字列です"); } else { alert("str1:" + str1 + "\nstr2:" + str2 + "\nstr1とstr2は同一文字列じゃないです"); } } // --> </script> </head> <body> <form name="f1"> <input type="text" name="t1" /><br/> <input type="text" name="t2" /><br/> <input type="button" name="b1" value="button" onclick="compareStr()" /><br/> </form> </body> </html> てな具合です。

noname#248169
質問者

お礼

ありがとうございました。 なんとか完成しました。 JavaScriptですね。

関連するQ&A

  • パスワードを入力してもエラーになります

    そのまま順を追って説明させていただきますと、 シマンテック・セキュリティ・スクエアと言うところの会員登録をしようとしました。シマンテックのメールマガジンから、名前又はニックネーム、仮ログインIDを登録して送信、折り返し本登録のメールが届いたので、そこのURLにアクセスしてパスワードを入力しても、「半角英数字か確認してください。」のエラーがでます。私の場合ひらがな入力していますので、言語バーの「A、A、_A、あ」のところで英数字、ひらがなを確認していますが、パスワード入力が面では、「_A」なつてしまいますので、前画面などで「A」になっているのを確認してパスワード入力画面に進むのですが。いろんなところでパスワード入力はしていますので、半角英数字で入力できて、規定の文字数にしているのに何故でしょうか。つまらない質問で長々と申し訳ありません。シマンテックにも問い合わせましたが、3日経っても返事がないので諦めようと思いましたが、またこのサイトを利用させていただきました。    

  • PHP+HTMLの確認画面から入力画面に戻る際のデータ保持について質問

    PHP+HTMLの確認画面から入力画面に戻る際のデータ保持について質問致します。 1.入力→2.確認→3.実行の3ページを作成しましたが、 2.確認で入力した値が間違っていた場合、1.入力に戻って訂正する仕様です 私は2.確認の戻るボタンにjavaのhistory.back();を使ったのですが ブラウザやOSにより、戻った際にデータが保持されていない場合があるとの事だったので 他の方法がないかご教授下さい。サンプルコードを書いて頂くと助かります。 以下、作成したコード 1.入力画面(mail.html) <html> <body> <form action="chk.php" method="post"> 件名:<br> <input type="text" name="subject" size="30" value=""><br> 送信者名:<br> <input type="text" name="name" size="30" value=""><br> メールアドレス:<br> <input type="text" name="mail" size="30" value=""><br> 本文:<br> <textarea name="message" cols="30" rows="5"></textarea><br> <br> <input type="submit" value="確認する">&nbsp&nbsp<input type="reset" value="クリア"> </form> </body> </html> 2.確認画面(chk.php) <?php $name = $_POST["name"]; $message = $_POST["message"]; $subject = $_POST["subject"]; $mail = $_POST["mail"]; ?> <html> <body> <form action="send.php" method="post"> 件名:<?php echo $subject; ?><br> 送信者名:<?php echo $name; ?><br> メールアドレス:<?php echo $mail; ?><br> 本文:<?php echo $message; ?><br> <input type="submit" value="これでOK"> &nbsp&nbsp //下記の戻るボタンで戻るとデータ保持をするようにしたい。history.back以外で。 <input type="button" value="戻る" onclick="history.back();"> <input type="hidden" name="name" value="<?php echo $name; ?>"> <input type="hidden" name="message" value="<?php echo $message; ?>"> <input type="hidden" name="subject" value="<?php echo $subject; ?>"> <input type="hidden" name="mail" value="<?php echo $mail; ?>"> </form> </body> </html> 3.送信画面(send.php) <?php mb_language("Japanese"); mb_internal_encoding("UTF-8"); $message = "名前:" . $_POST["name"] . "\n本文:" . $_POST["message"]; if (!mb_send_mail("hoge@example.com", $_POST["subject"], $message, "From: " . $_POST["mail"])) { exit("メールの送信に失敗しました。"); } ?> <html> <body> <p>メールが送信されました。</p> </body> </html> 初心者ですので、わかりやすい表記をお願い致します。

    • 締切済み
    • PHP
  • 確認メールアドレスの記述

    PHP初心者です。 お問い合わせのフォームを作成しているのですが、その中でメールアドレスと確認のメールアドレスの欄を設けました。 …………………………………………………………………………………… <INPUT type="text" name="ご返信の連絡先" size="35" value="<?= $_POST['ご返信の連絡先'] ?>"> <INPUT type="text" name="確認メールアドレス" size="35" value="<?= $_POST['確認メールアドレス'] ?>"> …………………………………………………………………………………… 次でこのメールアドレスと確認のメールアドレスが一致するかどうかを確認したいのですが。上手く機能しません。 …………………………………………………………………………………… if($_POST['ご返信の連絡先']!=$_POST['確認メールアドレス']) { ご返信の連絡先と確認メールアドレスが一致しておりません。 <BR> <FORM method="POST" action="sample.php">   <INPUT type="submit" value="ご記入ページへ戻る" /> </FORM> } …………………………………………………………………………………… ($_POST['ご返信の連絡先']!==$_POST['確認メールアドレス']) の記述でご返信の連絡先と確認メールアドレスが違っているときの条件を表しているのでしょうか? 今の状態でしたら、ちゃんと記入していても「ご返信の連絡先と確認メールアドレスが一致しておりません。」と表示がでてしますのですが。 何か原因がありましたら、教えてください。お願いします。

    • ベストアンサー
    • PHP
  • メールフォームにある必須入力について

    こんばんは、今メールフォームを作っています。入力画面→確認画面→完了ページという流れで作ったのですがよく必須項目に何も入れなかったり、間違った文字をいれたりするとエラーページが表示されるようにしたいと思っているのですが、なかなか上手くできません。下記のスクリプトからだとどうやってやったら良いのでしょうか?よろしくおねがいします。 <?php if (! isset($_POST[btn1]) and! isset($_POST[btn2]) and! isset($_POST[cancel])) { //入力画面 $body = "必要な項目を入力して[OK]ボタンをクリックしてください。 <FORM action='$_SERVER[PHP_SELF]' method='POST'> 名前:<INPUT size='40' type='text' name='name'><BR><BR> フリガナ:<INPUT size='40' type='text' name='kana'><BR><BR> 電話番号:<INPUT size='40' type='text' name='tel'><BR><BR> E-Mailアドレス:<INPUT size='40' type='text' name='email'><BR><BR> お問い合わせ内容:<BR><TEXTAREA rows='6' cols='40' name='inquiry'></TEXTAREA><BR><BR> <INPUT type='submit' name='btn1' value=' OK '> </FORM>"; } elseif (isset($_POST[btn1])) { //入力画面で[OK]がクリックされたとき $name = htmlspecialchars(stripcslashes($_POST[name])); $kana = htmlspecialchars(stripcslashes($_POST[kana])); $tel = htmlspecialchars(stripcslashes($_POST[tel])); $email = htmlspecialchars(stripcslashes($_POST[email])); $inquiry = htmlspecialchars(stripcslashes($_POST[inquiry])); $body = "ご入力した内容でメッセージを送信します。<BR> よろしければ[送信]ボタンをクリックしてください。 <FORM action='$_SERVER[PHP_SELF]' method='POST'> 名前:$name<BR><BR> フリガナ:$kana<BR><BR> 電話番号:$tel<BR><BR> E-Mailアドレス:$email<BR><BR> お問い合わせ内容:<BR>" . nl2br($inquiry) . "<BR><BR> <INPUT type='submit' name='btn2' value=' 送信 '> <INPUT type='submit' name='cancel' value='キャンセル'> <INPUT type='hidden' name='name' value=\"$name\"> <INPUT type='hidden' name='kana' value=\"$kana\"> <INPUT type='hidden' name='tel' value=\"$tel\"> <INPUT type='hidden' name='email' value=\"$email\"> <INPUT type='hidden' name='inquiry' value=\"$inquiry\"> </FORM>"; } elseif (isset($_POST[btn2])) { //確認画面で[送信]がクリックされたとき //メールの送信処理を行う $name = stripcslashes($_POST[name]); $kana = stripcslashes($_POST[kana]); $tel = stripcslashes($_POST[tel]); $email = stripcslashes($_POST[email]); $inquiry = stripcslashes($_POST[inquiry]); $mailto = "kuma202000@yahoo.co.jp"; $mailsbj = "メールフォームからの送信"; $mailbody = "$name さんからのメールが届きました。\n" . "---------------------------------------------\n" . "名前:$name \n" . "フリガナ:$kana \n" . "電話番号:$tel \n" . "E-Mailアドレス:$email \n" . "メッセージ:$inquiry \n" . "---------------------------------------------\n"; mb_language("ja"); if (mb_send_mail($mailto, $mailsbj, $mailbody, $mailheader)) { $body = "メールを送信しました。ありがとうございました。<BR><BR>"; } else { $body = "メールの送信に失敗しました。<BR><BR>"; } $body .= "<A href='$_SERVER[PHP_SELF]'>戻る</A>"; } elseif (isset($_POST[cancel])) { //確認画面で[キャンセル]がクリックされたとき header("location: $_SERVER[PHP_SELF]"); exit(); } ?> <HTML> <HEAD> </HEAD> <BODY> <?=$body?> </BODY> </HTML>

    • 締切済み
    • PHP
  • PHP入力フォームから確認画面にいって送信する。という事がやりたいので

    PHP入力フォームから確認画面にいって送信する。という事がやりたいのですが、入力フォームと送信画面は作成できたのですが、その間の確認画面をどう作成したらよいかわからないので、質問致します。 1.入力フォーム(mail.htmlで作成) <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>sample</title> </head> <body> <form action="send.php" method="post"> 件名:<br> <input type="text" name="subject" size="30" value=""><br> 送信者名:<br> <input type="text" name="name" size="30" value=""><br> メールアドレス:<br> <input type="text" name="mail" size="30" value=""><br> 本文:<br> <textarea name="message" cols="30" rows="5"></textarea><br> <br> <input type="submit" value="送信する"> </form> </body> </html> 2.確認画面・・・ここが作成したいページです。 3.送信画面(send.phpで作成) <?php mb_language("Japanese"); mb_internal_encoding("UTF-8"); $message = "名前:" . $_POST["name"] . "\n本文:" . $_POST["message"]; if (!mb_send_mail("hoge@example.com", $_POST["subject"], $message, "From: " . $_POST["mail"])) { exit("メールの送信に失敗しました。"); } ?> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>sample</title> </head> <body> <p>メールが送信されました。</p> </body> </html> という感じです。 やりたい事としては、第三者に入力フォームに入力してもらい、送信ボタンを押すと、入力内容はこれでよろしいですか?という画面が出て OKならば、そのまま送信。修正したい場合は戻るボタンでmail.htmlに戻り、修正する。その際の戻るボタンを押した場合は 入力した内容が消えていないこと。という事がやりたいのです。 「2.確認画面」のサンプルスクリプトを教えて頂けないでしょうか。 1と3も間違っているならご指摘下さい。よろしくお願い致します。

    • 締切済み
    • PHP
  • 確認画面・完了画面・エラー画面が出るメールフォーム

    こんばんは。PHPを習いはじめて1ヶ月ぐらいしか勉強をしていない素人です。 今度仕事でメールフォームを作ることになり、入力画面に入れた情報をメールで受け取るところまではできるのですが、入力画面→確認画面→エラー画面→完了画面のように作りたいのですが、参考書やネットで調べてもいい解説がありませんでした。 下記のソースからこの先どういう作れば希望フォームになるのでしょうか?みなさんの力を貸してください。お願いします。 ★フォーム(HTMLソース) <html> <head> </head> <body> <form method="POST" action="post.php"> 名前<br> <input type="text" name="name" size="15"><br> 好きな果物<br> <input type="radio" name="food[]" value="orange">オレンジ <input type="radio" name="food[]" value="apple">りんご <input type="radio" name="food[]" value="strawberry">いちご<br> <input type="submit" value="送信"> </form> </body> </html> ★PHP(スクリプト) <?php $to='××××@○○○.jp'; $subject='テストメール'; $body="名前:".$_POST["name"]."\n"."好きな果物:".$_POST["food"][0]; if(mb_send_mail($to,$subject,$body)){ print('メール送信に成功しました。'); } else{ print('メール送信に失敗しました。'); } ?>

    • 締切済み
    • PHP
  • メールアドレス入力チェック

    毎回初心者な質問で申し訳ないです。 Strutsを使ってフォーム作成中なのですが、Validatorではなくjavaの中でエラーチェックをしています。 入力の有無でのエラーチェックはできたのですが、メールアドレスチェックができません。 自分としては 「1文字以上の半角英数記号」@「1文字以上の半角英数記号」 じゃなかったらエラーを返すようにしたいと思い以下のように記述しました。 if (mail != "[\\d[a-zA-Z]*]+@[\\d[a-zA-Z]*]"){ errors.add("mail", new ActionMessage("errors.mail")); } 動かしてみると何を入力してもエラーがかえるようになってしまいました。 正しい記述をご存知の方、ご教授ください。よろしくお願いいたします。

    • ベストアンサー
    • Java
  • PHPでメールアドレスをチェックする正規表現はどのように書いたらいいのでしょうか...

    PHPでメールアドレスをチェックする正規表現はどのように書いたらいいのでしょうか? ネットで検索して利用しましたがうまくいきませんでした。 例えば入力が aaa × aaa@ × aaa@s × aaa@s. × aaa@s.u ○ という正規表現が目標です もちろんRFCの基準に適応した文字列を考えています。 半角記号、半角英数字、半角英字がOKですよね・・。 教えてください。

    • ベストアンサー
    • PHP
  • メールアドレス確認 javascriptについて

    入力フォームのメール項目にて 1.メールアドレスチェック 2.メールアドレス(確認用) のアラート設定を行いたいのですが、下記、javascriptの変更をどのように行っていいかが分からず困っています。 どなたかご回答お願いできますでしょう!? ------javascript部分-------------- <script language="JavaScript" type="text/javascript"> function CheckForm(theform) { var FormOK = false; if (theform.email1.value == "") { FieldControl(theform.To, "「メールアドレス」を入力してください。"); }else if (theform.email2.value == "") { FieldControl(theform.To, "「メールアドレス(確認用)」を入力してください。"); }else if (theform.email2.value == "") { FieldControl(theform.To, "入力されたものが一致するように入力してください。"); }else { FormOK = true; } return FormOK; } function FieldControl(element, message) { alert(message); } </script> ------HTML部分-------------- <form action="" method="post" name="theform" onsubmit="return CheckForm(this);"> メールアドレス:<input size="40" name="email1">(半角英数字)<br><br> 確認用】:<input size="40" name="email2"><br><br> <input value="確認画面へ" name="submit" type="submit"> </form> 宜しくお願い致します。

  • メールヘッダから送信メールアドレスの抜き出し

    以下の1行から、メールアドレスだけ抜き出すには どのようにしたらよいでしょうか。 From: 送信者<アカウント@ドメイン> Fromと送信者の設定してる名前は除いて(気にせず) sedで文字を削りあげるより、直接 <>←この括弧の中が<英数字@英数字>であれば 英数字@英数字だけ抜き出す。という方法で、 メールアドレスだけ抜き出したいのです。 どんな方法がありますでしょうか