• ベストアンサー

PHPメールフォームについて

下記のページを作成しているのですが、 ページを開いた時点で『第一希望-日』~『第三希望-日』に 現在の年月日が出てきてしまいます。 空白にしたいです。 ページを開いた時点では何も表示させないようにするには どのようにしたらよろしいでしょうか。 そして第一希望日を選ばずに『確認画面に進む』を押したときに エラーとさせたいです。 このページは、メールフォームを配布しているサイトから頂きました。 以上、基本的なことで申し訳ありませんが、 ご教授のほど宜しくお願いします。 http://kunaku.com/reserve/index.php

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

  • ベストアンサー
  • liv2007
  • ベストアンサー率81% (378/464)
回答No.3

スマートじゃないかもしれませんが、次の修正をすると 希望の動作で問題なく動作します。 変更が多いのでそのまま貼り付けます。 1.「function selectDateObject」の処理を次の物に そっくり変更します。 (※「lib」→「lib.php」の199行目以降) ※この処理の次にある「function viewset」に変更は ありませんので、そのまま残しておいてください。 *********ここから********* function selectDateObject($Ynm,$Mnm,$Dnm,$Pys,$Pms,$Pds,$tabind){ global $LANG; $Gys = date("Y",time()); $GysEnd = $Gys + 5; $Gms = date("m",time()); $Gds = date("d",time()); $acscset = $acsc; $str = '<select name="'.$Ynm.'" class="inp4" tabindex="'.$tabind.'01">'."\n"; for($i1=2009;$i1<$GysEnd;$i1++){ if($Pys && $Pys != "----"){ if($Pys == $i1){ $str .= '<option value="'.$i1.'" selected="selected">'.$i1.'</option>'."\n"; }else{ $str .= '<option value="'.$i1.'">'.$i1.'</option>'."\n"; } }elseif($i1 == 2009){ $str .= '<option value="----" selected="selected">----</option>'."\n"; $str .= '<option value="'.$i1.'">'.$i1.'</option>'."\n"; }else{ $str .= '<option value="'.$i1.'">'.$i1.'</option>'."\n"; } } $str .= '</select> '.$LANG['inp_year'].' <select name="'.$Mnm.'" class="inp2" tabindex="'.$tabind.'02">'."\n"; for($i2=1;$i2<13;$i2++){ if($Pms && $Pms != "--"){ if($Pms == $i2){ $str .= '<option value="'.$i2.'" selected="selected">'.$i2.'</option>'."\n"; }else{ $str .= '<option value="'.$i2.'">'.$i2.'</option>'."\n"; } }elseif($i2 ==1){ $str .= '<option value="--" selected="selected">--</option>'."\n"; $str .= '<option value="'.$i2.'">'.$i2.'</option>'."\n"; }else{ $str .= '<option value="'.$i2.'">'.$i2.'</option>'."\n"; } } $str .= '</select> '.$LANG['inp_month'].' <select name="'.$Dnm.'" class="inp2" tabindex="'.$tabind.'03">'."\n"; for($i3=1;$i3<32;$i3++){ if($Pds && $Pds != "--"){ if($Pds == $i3){ $str .= '<option value="'.$i3.'" selected="selected">'.$i3.'</option>'."\n"; }else{ $str .= '<option value="'.$i3.'">'.$i3.'</option>'."\n"; } }elseif($i3 == 1){ $str .= '<option value="--" selected="selected">--</option>'."\n"; $str .= '<option value="'.$i3.'">'.$i3.'</option>'."\n"; }else{ $str .= '<option value="'.$i3.'">'.$i3.'</option>'."\n"; } } $str .= '</select> '.$LANG['inp_day']."\n"; return $str; } *********ここまで********* 2.次に「index.php」を変更します。 「//Error Check indispensable.」の最後(91行目)に次の 1行を追加します。 elseif($fmFval['hiss'] == 1 and ($F[$fname.'_y'] == "----" || $F[$fname.'_m'] == "--" || $F[$fname.'_d'] == "--") and $fmFval['type'] == "date"){ $ERR = 1; $E[$fname] = '<span class="'.$errorClass.'">'.$fmFval['titl'].$LANG['errNotSelect'].'</span><br />'; } 3.次に、209行目(※上記追加後は210行目)を以下に 変更します。 $V[$pname] = $points.$E[$pname].selectDateObject($pname.'_y',$pname.'_m',$pname.'_d',$F[$pname.'_y'],$F[$pname.'_m'],$F[$pname.'_d'],$fmPkey)."\n"; ※上は「$V[$pname] = $points」の後ろに「.$E[$pname]」を追加しています。 4.最後に「lib」→「setting.php」で項目の設定をします。 $FORM[9]['titl'] = "第一希望"; $FORM[9]['name'] = "dat1"; $FORM[9]['type'] = "date"; $FORM[9]['hiss'] = 1; $FORM[9]['clss'] = "input-m"; $FORM[11]['titl'] = "第二希望"; $FORM[11]['name'] = "dat2"; $FORM[11]['type'] = "date"; $FORM[11]['hiss'] = 0; $FORM[11]['clss'] = "input-m"; $FORM[12]['titl'] = "第三希望"; $FORM[12]['name'] = "dat3"; $FORM[12]['type'] = "date"; $FORM[12]['hiss'] = 0; $FORM[12]['clss'] = "input-m"; ※設定ファイルの説明通り「hiss」を1にすると必須 になります。 ※項目の番号と「titl」、「name」等は、それぞれ重複 しないように注意してください。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (2)

回答No.2

recubeformを見させていただきましたが、 日付選択用の関数は、lib/lib.php内の、selectDateObjectのようです。 こちらの最初のほうで、現在時刻を算出して、取得してます。 ですのでここのスクリプトを修正すればよいと思いますが、単純にコレを修正してしまうと、別の項目で日付選択を行うときにも同様の挙動を行うようになってしまうのと思いますので、一度作者さんにお問い合わせされたほうがよろしいかと思います。 もしくは、Javascriptで制御するという方向も考えられますが、コレについてもJS部分をフルスクラッチする形になるので、若干重い内容になりますが・・・

全文を見る
すると、全ての回答が全文表示されます。
  • Suzi
  • ベストアンサー率38% (130/334)
回答No.1

セレクトタグのところで <option selected value=""></option> とすればどうですか?

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • phpのメールフォーム探しています

    ホームページのトップページにML配信申し込み用のフォームcgiを置いているのですが、重いのでphpへ変更したいと思っています。色々と検索したのですが、数が多すぎてどれが良いのか分からず…オススメがあったら教えてください。 要点としては、 ・無料のメールフォームで、できれば設定が簡単な所。 ・エラーや御礼がダイアログで出る(ページ数が少なくなるので;) です。 こちらのレンタルphpのようになるのが理想なのですが… http://citrus.candybox.to/gf13066no/postmail/postmail.php 今まで無料配布してるCGIをちょこっと触るくらい程度の知識しかありません。よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • PHPメールフォームの設定

    コアサーバーに、PHPのメールフォームのインストールをしようとしていますが、 うまくいきません。 どなたか、ご教授頂ければ幸いです。 インストールしようとした、PHPメールフォームは、下記の2つです。 1.ES-FORM 2.Mailform+ Version1.24 (携帯対応埋め込み型PHPメールフォームスクリプト) どちらもサーバーに設置して、アクセスなどをしますが、 フォームがキチンを表示されません。 どちらも、.htaccessを設置したりして、試行錯誤していますが、うまく動きません。 ES-FORMは、フォームがうまく表示できないので、 サーバーの説明によるエラー対策を http://www.coreserver.jp/help/index.php/phperror/ を試みましたが、うまくいきません。 Mailform+ Version1.24 は、パスの設定がうまくいかないようです。 Warning: include() [function.include]: Unable to access /virtual/ken/public_html/■■■■.■■■■/mail/mfp/config.inc.php in /virtual/■■■■/public_html/■■■■/mail/index.php on line 5 などのエラーがでます。 いま、完全にはまってしまい、暗中模索になってしまいました。 恐縮ですが、素人ゆえ、わかりやすく解説、設定方法など ご教授頂ければ幸いです。 以上、よろしくお願いいたします。

    • 締切済み
    • PHP
  • 無料の基本メールフォームを探してます!

    ホームページを作っていますが、下記の基本的な条件を満たすフォームの無料CGIを探しています!ご存知の方いらっしゃいますか? ・必須事項入力(出来ればエラーはページ遷移なし) ・自動返信機能 ・UTF-8かShift-JIS(jcodeは使えません) ・フォーム内に配布元リンクを貼らない また、自由にデザインを変更できるものが希望です。 HTMLやCSSは分かりますが、PHP等は初心者です。 沢山あると思いかなり探しましたがみつかりません! よろしくお願いします!

    • 締切済み
    • CGI
  • ポップアップ機能のあるメールフォーム

    ポップアップ機能のあるメールフォームを探しています。 下記のページのようなものです。 入力エラーがあるとポップアップが表示されるものです。 http://www.gincli.com/index.php フリーであるとうれしいのですが・・・。 よろしくお願いいたします。

  • PHPによるメールフォームの作り方

    今までメールフォーム制作する際、次のような構成で行っておりました。 1.contact.html・・・入力画面 2.contact.php・・・確認画面 3.mail.php・・・入力内容をメールに送信するプログラム 最後にjavascriptでダイアログを表示し「送信ありがとうございました」でOKを押すとトップに戻ります。しかしながら、2.の次に「ありがとうございました」というページを表示し、そこの中のOKを押すとトップに戻るようにしたいと思っております。その際、ファイルの構成はどのようになりますでしょうか?また、記述方法をご教授頂けますと幸いです。ちなみに現在「~有難う御座いました」はjavascriptのダイアログで表示してますが、2.の最後尾に echo(" <script>alert('送信ありがとうございました') location.href='index.html'; </script> "); のように記述しています。これを、htmlまたはphpのthank you画面で表示したく、今回有識者の方々にご質問させて頂きました。ご教授のほどよろしくお願い致します。

    • ベストアンサー
    • PHP
  • PHPのメールフォームから別ページに飛ばしたい

    困ってます。 PHPは初心者です。htmlは大丈夫です。 自分のステータスがこんななので、メールフォームは テンプレートを使ってました。 そのテンプレートはメール送信後、「送信ありがとうございました」の画面が 設定のされているPHPファイルに飛ぶというものです。 しかし、今後はトラフィックの計上のために、既存のトラフィックタグが埋め込まれている 自分のデザインHTMLファイルに飛ばしたいです。 PHPファイルにトラフィックタグを埋め込むとエラー画面、入力確認画面の表示の際にも トラフィックされてしまう為です。 PHPのファイルは下記のようなものになります。 http://shirasutaxi.watabi.com/lp2/config.txt http://shirasutaxi.watabi.com/lp2/confirm.txt http://shirasutaxi.watabi.com/lp2/sendmail.txt 要約すると、今まではconfirm.phpがサンキューページだったのですが、 それを既存のトラフィックタグが貼り付けられているhtmlファイルのサンキューページ に飛ばしたく思ってます。 よろしくお願いします。

    • 締切済み
    • PHP
  • PHPでのエラーチェックについて

    PHP 初心者デス。よろしくお願いします。 勉強のため、PHPにてメールフォームを作成してます。 PHPでのエラーチェックについて教えていただきたいのですが、 よろしくお願いします。 メールフォーム自体は下記のような流れで作成しております。 ------------------------------------------- 入力フォーム(index.php) ↓(check.php エラーチェック用ファイルとおる) 確認画面表示(confirm.php) ↓(send.php 送信処理がかかれたファイルとおる) 完了画面表示(thanks.html) ------------------------------------------- エラーチェックはindex.phpで必須項目などが、未入力、空白があれば、 送信ボタンを押した際に、index.php自体の入力フォームの下などに 「未入力です」などのエラー表示をさせたいのですが、うまくいきません。 ご教授お願いいたします。 できればSESSIONなどを使用せず行いたいですが可能でしょうか? とりあえず自力でやって、うまくいかなかったのは以下内容です。 --------------------------------------------------- check.phpにエラーチェック用処理を記載しており、index.phpのフォームには <form method="post" action="check.php"> としてます。 ですが、これだともちろんエラー表示はchek.phpに表示されてしまい、 うまくindex.phpにエラー表示ができません。 またindex.phpに入力した内容をconfirm.phpにPOSTで渡せなかったりします。 index.phpにincludeなどでchek.phpを読み込ませて、 <form method="post" action="confirm.php"> としてみても、 うまくエラーチェックが動作しなかったり、 index.phpに入力した内容をconfirm.phpにPOSTで渡せなかったり、 苦労してます。 どうかご教授のほど、よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • PHPのSESSIONを使用したメールフォームについてご質問があります

    PHPのSESSIONを使用したメールフォームについてご質問があります。 PHPを現在勉強中のため、ご教授いただければと思います。 ソースは下記のとおりです。 /* index.php */ <?php session_start(); ?> <html> <body> <form action="confirm.php" method="post"> <?php echo $_SESSION['err_category']; ?> <select name="category" id="category"> <option value="">-- 選択してください --</option> <option value="お問合せ">お問合せ</option> <option value="お申し込み">お申し込み</option> <option value="その他">その他</option> </select> </form> </body> </html> /* confirm.php */ <?php session_start(); $category = $_POST['category']; $errFlag = false; if(!strlen($category)) { $_SESSION['err_category'] = "<p class=\"error\">お問合せ項目を選択して下さい。</p>"; $errFlag = true; } else { unset($_SESSION['err_category']); } if($errFlag) { $_SESSION['category'] = $category; $_SESSION['errFlag'] = $errFlag; header('Location: ./'); exit; } ?> <html> <body> <?php echo $category; ?> <a href="javascript:history.back();">戻る</a> </body> </html> としているのですが、フォーム(index.php)でプルダウンの項目を選び、確認画面(confirm.php)から戻るを押すとフォームのページにてプルダウンの項目が選択してくださいに戻ってしまいます。 戻るを押しても、項目が選択されている状態にするにはどうしたらよろしいのでしょうか? ここで2日ほどつまずいているため、どなたかご教授いただけないでしょうか? 宜しくお願いいたします。

    • ベストアンサー
    • PHP
  • PHPでメールフォームを作成していますが、

    PHPでメールフォームを作成していますが、 フォームから内容を送信したあとに送信が完了したページのinquire.phpの上位表示部分に 下記の内容が表示されてしましまいまうが、原因は何がか考えられますでしょうか? No recipient addresses found in header HTTP/1.1 200 OK Date: Wed, 30 Jun 2010 12:24:25 GMT Server: Apache/1.2.6k KK-NET wpp/1.0 PHP4 X-Powered-By: PHP/4.3.11p1 Connection: close Content-Type: text/html

    • 締切済み
    • PHP
  • PHP(複数の送信先を設定・選択できるフォームメール)

    PHP(複数の送信先を設定・選択できるフォームメール) 初めまして。 現在、Webサイトに掲載するメールフォームの設定を行っております。 下記のURLのサイトでフリーPHPスクリプトを配布しておりましたので、 こちらのファイルをダウンロードして使わせて頂きました。 複数の送信先を設定・選択できるフォームメール - FormMails ver 1.1 - http://www.webcloset.net/scriptlist/formmails/ 手順通りに設定をしたはずなのですが、 実際にサーバーにアップしてメールフォームを実行してみたところ 下記のようなエラーになってしまいます。 「Not Found The requested URL /index.php was not found on this server.」 PHPに関してはほとんど無知に近い知識ですで、 色々調べているのですが中々解決方法が見つかりません。 このメールフォームを使用している方もしくは、 他にフリーで使いやすいメールフォームをご存じの方が いらっしゃいましたら、ぜひお教え頂きたいです。

    • 締切済み
    • PHP