サブジェクトとメールアドレスのチェックを追加したい

このQ&Aのポイント
  • 現状、サブジェクトとメールアドレスが未記入でも、送信されます。未記入の場合、その旨表示し送信しないようにしたいのです。
  • Webページの問い合わせフォームにおいて、サブジェクトとメールアドレスが未記入のままでも、送信されてしまう問題があります。そこで、未記入の場合には送信をキャンセルし、ユーザーにその旨を表示するように改善したいと考えています。
  • Webページの問い合わせフォームにおいて、サブジェクトとメールアドレスのチェックがされていないため、未記入の場合でも送信されてしまう問題があります。この問題を解決するために、未記入の場合には送信をキャンセルし、ユーザーに入力の必要性を促す処理を追加したいと思います。
回答を見る
  • ベストアンサー

サブジェクトとメールアドレスのチェックを追加したい

現状、サブジェクトとメールアドレスが未記入でも、送信されます。 未記入の場合、その旨表示し送信しないようにしたいのです。 よろしくお願いします。 public_html   |   /pc/    | postmail_pc.html thanks_pc.html postmail_pc.html: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <HTML> <HEAD> <META name="GENERATOR" content="JustSystems Homepage Builder Version 15.0.10.0 for Windows"> <META http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <META http-equiv="Content-Style-Type" content="text/css"> <TITLE>問い合わせ</TITLE> </HEAD> <BODY bgcolor="#ffccff">問い合わせ <FORM ACTION="http://lib006.upp.so-net.ne.jp/cgi-bin/m-conv.cgi" METHOD="POST"> <INPUT TYPE="hidden" NAME="sonet_send_mail" value="xxxxxx@yyy.so-net.ne.jp"> <INPUT TYPE="hidden" NAME="sonet_ret_html" value="http://www006.upp.so-net.ne.jp/xxxxxx/pc/thanks_pc.html"> <INPUT TYPE="hidden" NAME="sonet_send_subject" value="問い合わせ">お名前<BR> <INPUT SIZE="40" NAME="name"><BR> メールアドレス<BR> <INPUT SIZE="60" NAME="mailaddrs"><BR> 問い合わせ内容<BR> <TEXTAREA ROWS="25" COLS="90" NAME="mess"> </TEXTAREA><BR> <INPUT TYPE="RESET" VALUE="内容クリア" > <INPUT TYPE="SUBMIT" VALUE="送信します" ></FORM > </BODY> </HTML>

  • esd827
  • お礼率48% (219/455)
  • CGI
  • 回答数1
  • ありがとう数2

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

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

こんにちは。 formのactionで、so-netのCGI呼んでるので、 さすがにこのCGIを改変するのは難しいですな・・・。 それぐらいのチェックなら、別のCGI挟むのも面倒なので、 JavaScriptでやっちゃえばどう? <INPUT TYPE="SUBMIT" VALUE="送信します" > これやめて <INPUT TYPE="BUTTON" VALUE="送信します" onclick="checkSubject();" > とかなんとか・・・。

esd827
質問者

お礼

別の方法で同じ事ができました。 ありがとう御座いました。

esd827
質問者

補足

もう少し詳しく教えてください。 下記を組み合わせるのでしょうか --------------------------------------- $checkname= 1 ; $checkmail= 1 ; $errmes = \'\' ; if( $checkname == 1 and $cgi{\'name\'} eq \'\' ) { $errmes = $errmes . \'名前がありません<br>\' ; } if( $checkmail == 1 and $cgi{\'mail\'} eq \'\' ) { $errmes = $errmes . \'メールアドレスがありません<br>\' ; }

関連するQ&A

  • メールフォームにサブジェクト指定

    プロバイダから用意されているメールフォームCGI■■1■■に サブジェクト指定■■2■■をつけたいのですが、 どういうスクリプトになるのでしょうか。 あとできれば、送信者のメールアドレスが本文とメール送信者の欄、両方に 入るようにしたいのですが。 ■■1■■ <form method="post" action="http://docgi.so-net.ne.jp/cgi-bin2/form.cgi"> <input type="hidden" name="mailto" value="xxxxxxxx@so-net.ne.jp"> お客様のお名前:<br> <input name="name" size=60><br> お客様のメールアドレス:<br> <input name="mailfrom" size=60><br> 資料送付先住所:<br> <input name="address" size=60><br> ご連絡先電話番号:<br> <input name="tel" size=40><br> 感想:<br> <textarea name="body" rows=5 cols=60></textarea><br> 内容確認後、送信ボタンをクリックしてください。<br> <input type="submit" name="ok" value="送信"> <input type="reset" name="reset" value="クリア"> </form> ■■2■■ <input type="hidden" name="subject" value="資料請求"> 初心者です。 よろしくお願いします。

    • ベストアンサー
    • CGI
  • 携帯用アンケートページを作成したけど、携帯によってエラーがでてしまう。

    携帯用ページを作成したのですが、機種によりエラー(「ページが表示できません」か「Forriden」)がでてしまいます。全キャリア共通で使いたいのでおかしい部分がありましたら教えてください。よろしくお願いします。 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><HTML><HEAD><meta http-equiv="Content-Type" content="text/html; charset=SHIFT_JIS"><meta http-equiv="Content-Style-Type" content="text/css"><TITLE>xxx</TITLE></HEAD> <BODY><form method="post" action="/cgi-bin/xxx.cgi"> <br>性別<br><input type="radio" name="rc_seibetu" value="男" checked>男<br><input type="radio" name="rc_seibetu" value="女">女<input name="cc_seibetu" type="hidden" value="性別"> <br>キャリア<br><input type="radio" name="rc_com" value="ドコモ" checked>ドコモ<br><input type="radio" name="rc_com" value="voda">voda<br><input type="radio" name="rc_com" value="au">au<br><input type="radio" name="rc_com" value="Tu-Ka">Tu-Ka<input name="cc_com" type="hidden" value="キャリア"> <br>機種<br><input name="oa_kisyu" type="text" value="例)xxx" size="14"><input name="cc_kisyu" type="hidden" value="機種"> <textarea name="oa_body">ご要望</textarea><input name="cc_body" type="hidden" value="ご要望"> <br><INPUT NAME="oa_mailtitle" TYPE="hidden" VALUE="xxx"><INPUT NAME="om_mailto" TYPE="hidden" VALUE="xxx@xxx.co.jp"><INPUT NAME="oh_page_confirm" TYPE="hidden" VALUE="cm_confirm"><INPUT NAME="oh_errpage_nodata" TYPE="hidden" VALUE="cm_nodata"><input type="submit" value="送信"><br></form></BODY>

    • 締切済み
    • CGI
  • フォームから送信されたメールアドレスの表示ですが・・

    スクリプトでメールフォームを設置したのですが、送信されるメールアドレスが下記のように表示されます。クリックしてすぐに返信したいので、アドレスだけ表示されるようにしたいのですが、どうしたらいいかご存知の方がいらっしゃいましたらよろしくお願いします。 <ソース> <INPUT TYPE=HIDDEN NAME="題名" VALUE="フォームメール"><INPUT TYPE=HIDDEN NAME="題名" VALUE="フォームメール"> <FORM ENCTYPE="text/plain" METHOD="POST" ACTION="mailto:***@******.com"><INPUT TYPE=HIDDEN NAME="題名" VALUE="フォームメール">■お名前:<BR> <INPUT TYPE=TEXT NAME="名前" SIZE=40><BR> <BR> ■E-Mail:<BR> <INPUT TYPE=TEXT NAME="e-mail" SIZE=40><BR> <BR> ■性別:<BR> <INPUT TYPE=RADIO NAME="性別" VALUE="男" CHECKED>男性 <INPUT TYPE=RADIO NAME="性別" VALUE="女">女性<BR> <BR> ■お問い合わせ内容:<BR> <TEXTAREA name="メッセージ" rows="7" cols="49"></TEXTAREA><BR> <BR> <INPUT TYPE=SUBMIT VALUE="送信する"> <INPUT type="reset" name="クリア"></FORM> このように表記すると、 題名=フォームメール 名前=***** e-mail=*****@*****.com 性別=男性 メッセージ=これはテストです これはテストです これはテストです これはテストです これはテストです これはテストです これはテストです これはテストです となり、「e-mail=*****@*****.com」がアドレスとなってしまいます。 「e-mail=」が表示されないようにするか、表示されても「e-mail=」がアドレスとして認識されないようにしたいのですが・・・よろしくお願いします。

  • メールの形で、入力メールを到着させたい(取得したい)のですが。

    メールの形で、入力メールを到着させたい(取得したい)のですが。 以下のソースを作り、結果も上手く表示されたのですが、入力してもらったメルアドを メールの形式で、ウェブマスター側に到着させたい(取得したい)のですが、 タグの入れ方が判りませんん。 ご教授御願い致します。 宜しく御願い致します。 <HTML><HEAD> <META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=Shift_JIS"> <META HTTP-EQUIV="Pragma" CONTENT="no-cache"> <META NAME="robots" CONTENT="all"> <TITLE></TITLE> <SCRIPT language="JavaScript"> <!--HPB_SCRIPT_CODE_40 function _HpbJumpURLinNewWindow(url) { if (url != '') { window.open(url, '_blank'); } } //--> </SCRIPT></HEAD> <BODY> <p>メールアドレスを入力してください。送信ボタンを押すと、トライアル版のダウンロードページが開きます。 <FORM> <TABLE BORDER="1" CELLSPACING="0" CELLPADDING="3"> <TR> <TD>メールアドレス</TD> <TD> <!-- メールアドレス --> <INPUT type="text" name="Page01:01" value="" size="59"> </TD> </TR> </TABLE> <INPUT TYPE="hidden" NAME="" VALUE=""> <INPUT TYPE="hidden" NAME="" VALUE=""> <INPUT TYPE="hidden" NAME="" VALUE="1"> <INPUT type="submit" value="送信" onclick="_HpbJumpURLinNewWindow('http://www.***.com/');">&nbsp;&nbsp;<INPUT TYPE="reset" VALUE="リセット"> </FORM> </BODY> </HTML>

  • セレクトボックスとチェックボックスを使った絞込み検索

    Yomi-Searchについての質問なのですがタイトルの通りの質問でチェックボックスを使った絞り込み検索では 01_03 04_01 と検索結果に表示されるのですがセレクトボックスとチェックボックスを組み合わせて絞り込み検索をしてみると 01_0304_01 とこのようにカテゴリとカテゴリの間にスペースが入らず絞り込み検索が出来ません‥ タグはこのように書きました。 <FORM action="http://www..." method="get" target="" name="form1"> <INPUT type="hidden" name="mode" value="search"> <INPUT type="hidden" name="page" value="1"> <INPUT type="hidden" name="sort" value="mark"> <INPUT type="hidden" name="engine" value="pre"> <INPUT type="hidden" name="kn" value="30"> <SELECT size="1" name="word"> <OPTION type="selected" value="">--------</OPTION> <option value="01_01" name="word1">○○○</option> <option value="01_02" name="word2">○○○</option> <option value="01_03" name="word3">○○○</option> </SELECT><BR> <BR> <INPUT type="checkbox" name="word4" value="04_01">○○○<BR> <INPUT type="checkbox" name="word5" value="04_02">○○○<BR> <INPUT type="checkbox" name="word6" value="04_03">○○○<BR> <BR> <INPUT type="submit" value=" 検 索 "> <INPUT type="reset" value="リセット"> &nbsp; </FORM> 全くの初心者ですいませんが良きアドレスなどをお願いします。

  • メールフォーム設定について

    HP初心者です。メールフォーム作成について質問させていただきます。 現在 http://sitemix.jp/ の提供している無料CGIサービスを利用しており、パスは/usr/lib/sendmail とのことなのですが、下記のようなソースを書いてもうまく送信できず、エラーになってしまいます。 <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=shift_jis"> <title>無題ドキュメント</title> </head> <body> <form name="form1" method="post" action="/usr/lib/sendmail"> <p> 名前 <input type="text" name="textfield"> <INPUT TYPE="hidden" NAME="endmail" VALUE="thanks.htm"> <input type="hidden" name="tomail" value="メールアドレス"> <input type="hidden" name="submail" value="mailform"> </p> <p><br> <input type="submit" name="Submit" value="送信"> </p> </form> </body> </html> どこか間違っている場所などあればお教えください。どうぞよろしくお願いいたします。

    • 締切済み
    • CGI
  • チェックボックスについて(ruby)

    cgiのプログラムでチェックボックスについてわからないことがあります。 今書いてある、プログラムだとすべての値を受け取ってしまいます。 選択されたものだけ表示させるようにさせたいと思っています。そのプログラムfor文で書いているのですが、どのように書いたらよいのでしょうか? 教えてください、お願いします! <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=EUC-JP"> <title>プロフィール入力ページ</title> </head> <body> プロフィールを入力してください。<br> <form method="GET" action="http://profile2.cgi"> 名前: <input type="text" name="name"> <br> <br> 性別: <input type="radio" name="sex" value="男性">男 <input type="radio" name="sex" value="女性">女 <input type="radio" name="sex" value="その他">その他 <br> <br> 趣味: <input type="checkbox" name="hobby" value="映画">映画 <input type="checkbox" name="hobby" value="音楽">音楽 <input type="checkbox" name="hobby" value="スポーツ">スポーツ <input type="checkbox" name="hobby" value="料理">料理 <input type="checkbox" name="hobby" value="その他">その他 <br> <br> <br> <input type="submit" value="送信"> </form> </body> </html> #!/usr/local/bin/ruby print "Content-type: text/html; charset=euc-jp\n\n" $KCODE = "e" require "cgi" cgi = CGI.new namae = cgi["name"] sei = cgi["sex"] syumi = cgi.params["hobby"] ary = ["映画, ", "音楽, ", "スポーツ, ", "料理, ", "その他 "] str = ary[0] + " " + ary[1] + " " + ary[2] + " " + ary[3] + " " + ary[4] + " " syumi = "" for x in str syumi = syumi + x end print <<EOS <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=EUC-JP"> <title>プロフィールの確認</title> </head> <body> 名前: #{namae} <br> <br> 性別: #{sei} <br> <br> 趣味: #{syumi} </body> </html> EOS 動作環境はruby 1.8.7 (2010-01-10 patchlevel 249) [i686-linux]になります。

    • ベストアンサー
    • CGI
  • ニフティのメールデコードについて教えてください

    webアンケートを作るためにhttp://homepage.nifty.com/mail/sample.htm#enqueteを参考にしてみたのですが(送信ボタンを押すと)「メールアドレスが記入されていないか形式が不正です」とエラーメッセージが出てしまいます。以下の書き方で間違っている所があるでしょうか。 <HTML> <HEAD> <TITLE>質問紙のサンプル</TITLE> </HEAD> <BODY> <FORM METHOD="post" ACTION="http://mdec.nifty.com/cgi-bin/ahpmdec.cgi"> <INPUT TYPE="hidden" NAME="ok_page" VALUE="http://homepage?.nifty.com/***/***.htm"> <INPUT TYPE="hidden" NAME="to_mail" VALUE="***@nifty.com"> <INPUT TYPE="hidden" NAME="sub" VALUE="質問紙調査の結果"> 名前: <br> <INPUT TYPE="text" NAME="name" SIZE="30" MAXLENGTH="40"> <br> メールアドレス: <br> <INPUT TYPE="text" NAME="from" SIZE="25" MAXLENGTH="60"> <br> コメント: <br> <TEXTAREA NAME="body" ROWS="20" COLS="30"> </TEXTAREA> <INPUT TYPE="submit" VALUE="送信"> <INPUT TYPE="reset" VALUE="クリア"> </FORM> </BODY> </HTML>

    • ベストアンサー
    • HTML
  • メールフォームでプルダウンの内容だけ送られてこない

    HTMLファイルでデザインができるメールフォームのcgiで、 名前とEメールアドレスは送られてくるのですが プルダウンの内容だけ、送られてこないんです。 ちなみに携帯サイト用です。 プルダウンの入れ方がおかしいんだと思うのですが 何がいけないのでしょうか? --------------------------------- <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <title>フォームメール</title> </head> <body text="#000000" bgcolor="#FFFFFF" link="#0000FF" vlink="#0000FF"> <center>フォームメール</center> <hr> <form action="./mail.cgi" method="${INFO_METHOD}"> <input type="hidden" name="system_mode" value="preview"> <input type="hidden" name="need_input_message" value="1"> 名前<br> <input type="text" name="system_name" value=""><br> Eメール<br> <input type="text" name="system_mail" value=""><br> テスト<br> <select name="test01"> <option value="" selected="selected">選択してください</option> <option value="テスト1">テスト1</option> <option value="テスト2">テスト2</option> <option value="テスト3">テスト3</option> <option value="テスト4">テスト4</option> </select> テスト<br> <select name="test02"> <option value="" selected="selected">選択してください</option> <option value="テスト1">テスト1</option> <option value="テスト2">テスト2</option> <option value="テスト3">テスト3</option> <option value="テスト4">テスト4</option> </select> <br> <input type="checkbox" name="system_copy" value="on" checked> 送信者にコピーを送る<br> <br> <input type="submit" value="確認画面へ"> </form> <hr> ▲<a href="${INFO_BACK}">戻る</a> <hr> </body> </html> --------------------------------------- 今はこうなってます。 何か間違っている箇所、足りない箇所がありましたら ぜひ教えてください。 よろしくお願い致します。

    • ベストアンサー
    • HTML
  • メールの中身が入りません。なぜでしょう?

    PHPを勉強し始めまたばかりで、つまずいています。 本を買って来て、サンプルプログラムをセコセコ写して、イザ クリックしましたら、メールは届くのですが、なぜか本文が 入りません。届くのは      ↓ さんからのメールが届きました。 ----------------------------------------------------- ----------------------------------------------------- これだけです。 「POST」を使っているので php.iniのregisterglobalsをOnにしても、届きません。 何が悪いんでしょう? PHPのバージョンでしょうか? それとも、Apacheのバージョンでしょうか? php-5.0.2のwindows版 Apache_2.052 なのですが・・・。 どなたか詳しい方宜しくお願いいたします ******************************* <?php if (! isset($_POST[btnExec1]) and ! isset($_POST[btnExec2]) and ! isset($_POST[btnCancel1])){ $body = "名前とメッセージを入力して[OK]ボタンをクリックしてください。 <FORM action='$_SERVER[PHP_SELF]' method='POST'> 名前: <INPUT size='40' type='text' name='name'><BR><BR> メッセージ:<BR> <TEXTAREA row='6' cols='40' name='message'></TEXTAREA><BR><BR> <INPUT type='submit' name='btnExec1' value='OK'> </FORM>"; } elseif (isset($_POST[btnExec1])){ $name = htmlspecialchars(stripcslashes($_POST[name])); $message = htmlspecialchars(stripcslashes($_POST[message])); $body = "次の内容でメッセージを送信します。<BR> よければ送信ボタンをクリックしてください。 <FORM action='$_SERVER[PHP_SELF]' method='POST'> 名前:$name<BR><BR> メッセージ:<BR>". nl2br($message). "<BR><BR> <INPUT type='submit' name='btnExec2' value='送信'> <INPUT type='submit' name='btnCancel1' value='キャンセル'> <INPUT type='hidden' name='name' valu=\'$name\'> <INPUT type='hidden' name='message7 valu=\'$message\'> </FORM>"; } elseif (isset($_POST[btnExec2])){ $name = stripcslashes($_POST[name]); $message = stripcslashes($_POST[message]); $mailto = "*********@*********"; $mailsbj = "メールフォームからの送信"; $mailbody = "$name さんからのメールが届きました。\n". "-----------------------------------------------------\n". "$message \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[btnCancel1])){ header("location: $_SERVER[PHP_SEIF]"); exit(); } ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <HTML> <HEAD> <META http-eqive="Content-Type" content="text/html; charset=x-euc-jp"> <meta http-equive="Content-Style-Type" content="text/css"> </HEAD> <BODY> <?=$body?> </BODY> </HTML>

    • ベストアンサー
    • PHP

専門家に質問してみよう