• 締切済み

HPのフォームについて

ホームページを初めて作成しました。 http://www.***********.com/ それで、こちらのフォームですが 確認画面の作成の仕方と、記述内容をメールで 受け取るにはどうすればいいのでしょうか? もし難しいようであれば、何か解決策ありますか? すみませんが、宜しくお願い致します。 http://www.***********.com/offer.html

みんなの回答

  • prunote
  • ベストアンサー率33% (6/18)
回答No.7

こっちは単にメール送るタグの説明のURLです。 mail toのやつですね。参考までにどうぞ。 http://www.tagindex.com/html_tag/link/a_mailto_sub.html こっちはCGIを使ったものです。 http://www.kent-web.com/data/postmail.html 僕もHTMLとCSSを初めてまだ4か月ぐらいです。 頑張りましょう。

sockmonkey
質問者

お礼

prunoteさま 何から何まで、ほんと有難うございます! ページ拝見させて頂きましたが 理解するには、時間が少々かかりそうです。。 またmailtoと離脱率が高そうなので 今回は、phpかcgiを使ったフォームを まずは作成頂こうと思っております。 そのソースを見て、勉強しようかと思います。 どこか、激安で作成してくれるところとか 知っておりますでしょうか? prunoteさんは、4か月なんですね。 私も、3ヶ月ちょいなんで同じくらいです。 prunoteさんのように早く覚えられるよう頑張ります 御忙しいところ、ほんとありがとうございます。

  • prunote
  • ベストアンサー率33% (6/18)
回答No.6

<?php //-------------------------------------------------------------// //必須項目が入力されているか確認するphp //入力されていないときはエラーを //入力されているときは、確認表示する。 //-------------------------------------------------------------// //-------------------------------------------------------------// //変数を初期化 //-------------------------------------------------------------// //値の取得用 $name = ""; $pref = ""; $tel = ""; $mail = ""; $comment = ""; //エラーメッセージ用 $err_mode =""; $err_name =""; $err_mail =""; $err_tel =""; $err_comment =""; //-------------------------------------------------------------// //hiddenで送信したダミーの文字コードを調べて //$enc_inputに代入。 //-------------------------------------------------------------// if (isset($_POST['dummy'])) { $enc_input = mb_detect_encoding($_POST['dummy']); } else { $enc_input = "ASCII, JIS, UTF-8, eucJP-win, EUC-JP, SJIS-win, SJIS";//オートでは全てカバーしきれないためそれぞれ入力しておく } //-------------------------------------------------------------// //値の取得 //それぞれの値をEUC-JPにエンコードする //-------------------------------------------------------------// if( isset( $_POST['name'])){ $name = mb_convert_encoding($_POST['name'], "EUC-JP", "$enc_input"); } else{ $name = ""; } if( isset( $_POST['pref'])){ $pref = mb_convert_encoding($_POST['pref'], "EUC-JP", "$enc_input"); } else{ $pref = ""; } if( isset( $_POST['tel'])){ $tel = mb_convert_encoding($_POST['tel'], "EUC-JP", "$enc_input"); } else{ $tel = ""; } if( isset( $_POST['mail'])){ $mail = mb_convert_encoding($_POST['mail'], "EUC-JP", "$enc_input"); } else{ $mail = ""; } if( isset( $_POST['comment'])){ $comment = mb_convert_encoding($_POST['comment'], "EUC-JP", "$enc_input"); } else{ $comment = ""; } //変数の定義と値の取得 //-------------------------------------------------------------// //必須項目が未入力だった時の処理 //エラーメッセージの変数に文字を入れる //-------------------------------------------------------------// // エラー判定用 $err_idx = 0; if(!isset($_POST['name']) || $_POST['name']==""){//もしnameの値がセットされていない。かつ、中身が空っぽなら $err_name="名前は必ず入力してください。"; $err_idx++; } if(!isset($_POST['mail']) || $_POST['mail']==""){//もしmailの値がセットされていない。かつ、中身が空っぽなら $err_mail="メールアドレスは必ず入力してください。"; $err_idx++; } if(!isset($_POST['tel']) || $_POST['tel']==""){//もしtelの値がセットされていない。かつ、中身が空っぽなら $err_tel="メールアドレスは必ず入力してください。"; $err_idx++; } if(!isset($_POST['comment']) || $_POST['comment']==""){//もしcommentの値がセットされていない。かつ、中身が空っぽなら $err_comment="お問い合わせ内容は必ず入力してください。"; $err_idx++; } //-------------------------------------------------------------// //画面表示 //-------------------------------------------------------------// if($err_idx!==0){ // 出力用エンコード(フォーム必須項目) $err_name = mb_convert_encoding($err_name, "SJIS", "EUC-JP"); $err_mail = mb_convert_encoding($err_mail, "SJIS", "EUC-JP"); $err_tel = mb_convert_encoding($err_eMail, "SJIS", "EUC-JP"); $err_comment = mb_convert_encoding($err_comment, "SJIS", "EUC-JP"); //出力用エンコード(フォーム必須以外の項目) $name = mb_convert_encoding($name, "SJIS", "EUC-JP"); $pref = mb_convert_encoding($pref, "SJIS", "EUC-JP"); $tel = mb_convert_encoding($add, "SJIS", "EUC-JP"); $mail = mb_convert_encoding($telNumber, "SJIS", "EUC-JP"); $comment = mb_convert_encoding($comment, "SJIS", "EUC-JP"); include( "check_f.html" );// htmlをインクルードして画面を表示します。 } //-------------------------------------------------------------// //必須項目が入力されていた場合。 //-------------------------------------------------------------// else{ $name = mb_convert_encoding($name, "SJIS", "EUC-JP"); $pref = mb_convert_encoding($pref, "SJIS", "EUC-JP"); $tel = mb_convert_encoding($add, "SJIS", "EUC-JP"); $mail = mb_convert_encoding($telNumber, "SJIS", "EUC-JP"); $comment = mb_convert_encoding($comment, "SJIS", "EUC-JP"); include("check_t.html");// htmlをインクルードして画面を表示します。 } ?> インクルードするhtmlにはinput type="text"の部分を<?=$name?>みたいな感じで入れ替えたものを書きます。 わからんかったらまたそのつど質問だしてください。

sockmonkey
質問者

お礼

prunoteさま ご多忙の中、大変恐れ入ります! みずしらず の私にここまで ご丁寧にご回答して下さりまして、 prunoteさまに大変ありがとうございます。 正直、prunoteさまとokwaveの場に、すごく感銘致しました。 しかしながら、ほんと申し訳ございませんが 上記ソース 何をどうしたら良いかさっぱりです。。 理解するには時間が掛かりそうなので まずは、メールで飛ばすことで断念致します。。 上記のサンプルは、しっかり秀丸に落させて 頂きましたので、また何かありましたら その節は、どうぞ宜しくお願い致します。 またCSS/HTMLの件も見て頂きありがとうございます。 やる気出ました!!頑張ります!!

sockmonkey
質問者

補足

prunoteさま 今、上記のソースを見ていたのですが むしろ、こちらをUPいたら完了みたいな感じでしょうか? 何から、何まで質問してすみません。。

  • prunote
  • ベストアンサー率33% (6/18)
回答No.5

<? /* メールの送信にはmb_send_mail()という関数を使用します。 */ // テスト用設定 // ※受信できるアドレスを設定 $test_mail = ""; //----------------------------------------------------------------------- // メール本文整形 // ※$mail_msgに問い合わせの各項目名、入力値を設定して文面を整形してください。 // ※メール文中の改行は行の最後に「\n」を設定します。 //----------------------------------------------------------------------- $mail_msg = "お問合せありがとうございました。\n"; $mail_msg .= "お問い合わせ内容\n"; //メール本文の改行コードを置換する $mail_msg = str_replace(chr(13), "", $mail_msg); // ヘッダ作成 $mail_header = "From: ".$test_mail."\n"; // メール送信者 $mail_header .= "Reply-To: ".$test_mail."\n"; // 返信先 //----------------------------------------------------------------------- //メール送信実行 //----------------------------------------------------------------------- mb_language("Japanese"); // 管理者に送信 $result_mail = ""; $result_mail = mb_send_mail($test_mail, "お問合せありがとうございました。", $mail_msg, $mail_header); // ※実行した結果、正しい内容でメールが受信できていれば成功です。 ?> メール送信だけのサンプルです。 checkのサンプルはまた書きます。 あとhtmlとcssのソースをfirebugでみましたが、まだまだ改良の余地はあるように思います。 ですが、初めてであれだけかけるのは正直すごいと思いました。 これからもがんばってください。

  • prunote
  • ベストアンサー率33% (6/18)
回答No.4

今日の夜でよければサンプルのphpぐらいなら書きますよ。

  • OKwebb
  • ベストアンサー率44% (92/208)
回答No.3

> サーバサイドでアプリケーションを動かすことは可能ですか? > あとサーバからSMTP送信できる環境であればいいです。 → サーバが自前ならとりあえずOKです。 レンタルサーバなら確認してみてください。 > どこかに無料で落ちていたりしますでしょうか? PHPでもPerlでもJava(Tomcat)でも無料です。 既にサーバに入っているかもしれません。 はじめは時間がかかるかもしれませんが、サンプルプログラムも あちこち落ちているので、意外と 案ずるより産むが易し かもしれませんよ。

sockmonkey
質問者

お礼

OKwebbさん ご回答ありがとうございます!!! サーバーは、xreaというのを使ってます。 サンプルプログラム探してみます!! ありがとうございます

  • prunote
  • ベストアンサー率33% (6/18)
回答No.2

phpであれば確認画面とメール送信を行えますよ。

sockmonkey
質問者

お礼

prunotesさま ご連絡ありがとうございます phpですが…、どこかにソース落ちてたりしますか?

noname#78439
noname#78439
回答No.1

入力チェックはJavaScriptでどうにかなるとしても、 記述内容をメールで受け取るにはサーバサイドのアプリケーションが 必要になるのではないかな。 CGIとかサーブレットとか。 サーバサイドでアプリケーションを動かすことは可能ですか? あとサーバからSMTP送信できる環境であればいいです。

sockmonkey
質問者

お礼

shiba_tokyo様 さっそくのご回答ありがとうございます。 すみません。 CGiとかサーブレットとかSMTP送信とか さっぱりです… どこかに無料で落ちていたりしますでしょうか?

関連するQ&A