問い合わせフォームの作成方法

このQ&Aのポイント
  • 問い合わせフォームを作るには、HTMLやCSSの基本知識が必要です。
  • 参考サイトのサンプルを編集することで、問題なくフォームを使うことができます。
  • フォームの機能やデザインをカスタマイズするには、postmail.cgiの編集が必要です。
回答を見る
  • ベストアンサー

問い合わせフォームの作成方法

問い合わせフォームを作りたくて、過去の質問や様々なサイトを見てたのですが、サンプルの編集方法がわからなく質問させていただきました。 HTMLやCSSはおおむね理解しています。 http://www.kent-web.com/data/postmail.html こちらの参考サイトのままに設置したところ、問題なくサンプルは使用できました。 ただ、現状ですと私がやりたいものとは項目数やデザインなどの面でほど遠く、編集するにもどこから手をつければいいのかわからず困っています。 下の【補足事項】でHTMLの編集方法は掲載されていましたが、特に、「pstmail.cgi」の編集については記述されていませんでした・・・ これは「postmail.html」のデザインを編集するだけで、確認画面や、送信される内容まで自動で機能するようになるのでしょうか? いまいち、それぞれのファイルのつながりがわかりません。・・・(1) また、サンプルのままですとpostmail.htmlとなっているのですが、たとえば「hoge.html」とした場合や、既存のページに組み込む場合などもデザインの部分だけでなく、「postmail.ci」の部分の編集も必要になってくるのでしょうか? その場合は<body></body>の間に「 <form action="postmail.cgi" method="post">~</form>」と挿入すれば機能するのでしょうか?・・・(2) 質問が複数になっていますが、どうかよろしくお願致します。

noname#64096
noname#64096
  • CGI
  • 回答数3
  • ありがとう数5

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

  • ベストアンサー
  • shimix
  • ベストアンサー率54% (865/1590)
回答No.3

>やはり入力画面から確認画面は同じデザインで、エラーがある場合は横や上に >赤文字が出るような感じにしたいので、勉強します。 そうですね・・。私も自分が作るときはそんな感じにします(汗)。そういうパターンは(多分)phpの方が作りやすいです。自分では書けるけど「解説しているサイト」ってあまり見た記憶がないし、さりとてここで書ける分量では限界があるし・・。

noname#64096
質問者

お礼

ありがとうございます。 どれだけ探してもそのようなサイトないみたいですし・・・ 諦めて、外注してしまいそうです・・・ 色々、ありがとうございました。

その他の回答 (2)

  • shimix
  • ベストアンサー率54% (865/1590)
回答No.2

>仮に、確認画面を1から作成した場合、入力された項目を呼び出すようなタグや方法をご存じありませんでしょうか? このCGIの場合はtmpl/conf.htmlを読めばわかりますが、$leftと$rightに分けて項目名と内容が展開される仕様です。 CGIを修正してよければpostmail.cgiの342行目のforeachの部分で項目名($key)内容($in{$key})を置換していますので、この部分に手を入れるしかないですね。 ちなみにselectの初期値は最初の入力がhtmlなので、htmlにJavaScriptで組み入れるしかないです。 #そこまでやるとなると、私ならいっそphpで最初から作りたくなってしまいますけど(汗

noname#64096
質問者

お礼

ありがとうございます。 私もほんとはphpで一から作りたいんですけど・・・ まったくわからない状態でして・・・ そこらじゅうを見て、やっと今回のを見つけました。 ですが、やはり入力画面から確認画面は同じデザインで、エラーがある場合は横や上に赤文字が出るような感じにしたいので、勉強します。 どこからにメールフォームに特化したような初心者サイトはありませんでしょうか? どこもめちゃくちゃむずかしそうでして・・・

  • shimix
  • ベストアンサー率54% (865/1590)
回答No.1

項目などはhtml側で自由に増減していいです。またhtmlファイルの名前も自由に変えてかまいません。CGI側はPOSTされた項目を(必要なチェックはしますが)そのままメールにセットするだけです。 デザインも自由に決めていいです。確認画面などはtmplフォルダの中のテンプレートファイル(html)を編集してください。 ・・ということが提示されたURLで説明されています。

noname#64096
質問者

お礼

shimix様 いつもありがとうございます。 手探りながらなんとか項目追加⇒送信はできたのですが、間の確認画面の編集が思うようにできず悩んでおります。 具体的には、自動で"name"が確認画面の左、入力内容が右に表示されるのですが、 たとえば日時のセレクトボックスのような場合、「1」月「01日」「23時」というように数字を選択するのですが、確認画面では「日時」(左)、「1 01 23」(右)というように表示されてしまいます。 それぞれを分けてnameをつければいいのですが、項目が多いとかなり見づらくなってしまうので、悩んでいます。 また、セレクトボックスについてですが、デフォルトを今日の日付にすることは可能でしょうか?よく見かけるので・・・ ダメな場合、デフォルトを「選択」にし、選択のままでは送れないや、どれか1つは送るようにしなきゃいけないなどの指定を個別にしたいのですが、このようなことは可能でしょうか? お礼欄に長々と質問を投げかけてしまい申し訳ございませんが、再度ご覧になられましたらどうかよろしくお願致します。

noname#64096
質問者

補足

すみません何度も・・・ 仮に、確認画面を1から作成した場合、入力された項目を呼び出すようなタグや方法をご存じありませんでしょうか? また、そのような方法を指南しているHPや書籍などがあれば・・・ ダウンロードした中に入っているファイルを編集するより、確認画面だけを一から自分で作成し、ボタンだけ最後につけてリンクする。 方が簡単なような気がしてきました・・・ ちゃんと機能するかどうかわかりませんが・・・ あまりにも編集がわからないので、

関連するQ&A

  • 問合せフォームの作成について

    http://www.kent-web.com/data/postmail.html 上記URLのフォームメールのプログラムを 使用して問合せフォームを作成しようとしています。 cgiなどを使うのは全くの初めてですので よくわかっていません。 【質問1】 上記URL内に『ディレクトリ構成』が載っているのですが この中の「postmail.html」の位置を変更してもいいのでしょうか? もし変更が可能であれば他のファイル内の記述で何か変更することは でてくるのでしょうか? また、ファイル名も変更していいのでしょうか? 【質問2】 一つのHPに問合せフォームを複数(2つ)作りたい時、 何をしたらいいのでしょうか? (htmlの問合せページは2つ作成しました。)

    • ベストアンサー
    • CGI
  • ホームページビルダーで作成したアンケートフォームの回答をCGIによってメールで受信するには?

    昨日「ホームページビルダー(HPB)で作成したアンケートフォームの回答をCGIによってメールで受信する方法」について質問をあげさせていただいた者です。 *昨日の質問:http://oshiete1.goo.ne.jp/qa3667373.html NymphLuna様、nak777r様、tengujapan様ありがとうございました。 NymphLuna様からのアドバイスに従い実行したところ、何とかCGIの設置には成功したようです。 KENTさんのサイトよりDLしたpostmail.cgiについてアドバイスに従って若干の書き込みを加え、簡易チェック(http//~/intra/aaa/bbb/ccc/postmail.cgi?mode=check)をブラウザで行ったところ、エラーらしき画面は出ませんでした。 *KENTさんのサイト:http://www.kent-web.com/data/postmail.html 残るは、HPBで作成したアンケート(enquete.html)のFORMタグの変更で完了か!?と思いきや、アンケートの送信ボタンを押すと、『Method Not Allowed  The requested method POST is not allowed for the URL /intra/aaa/bbb/ccc/postmail/postmail.cgi.』と表示されてしまいました。 HPBからのFORMタグは以下のようなもので、 <FORM name="HPB_ELQ_QUESTION" action="mailto:私のメールアドレス?Subject=社員アンケート" enctype="text/plain" onsubmit="return HpbELQCheck();" onreset="HpbELQReset();" method="POST"> これを、NymphLuna様にアドバイスいただいた通り、KENTさんの設置例に従い、<form action="./postmail.cgi" method="POST">に置き換えたところ、「ページが見つかりません」と表示されてしまうため、<form action="postmail/postmail.cgi" method="POST">としたところ、今度は上述の「Method Not Allowed」が表示されてしまいました。MethodをGETに変えてみたのですが、上述の簡易チェックで表示される画面と同じものが表示されてしまいます。 そこで質問は、恐らくCGIは設置できていると思うのですが、FORMタグはどのように変更すればよいのでしょうか?どうすればアンケート結果をメール受信できるようになるのでしょうか? 皆さま、どうぞよろしくお願いいたします。

    • ベストアンサー
    • CGI
  • postmailを使ったメールフォームについて

    お世話になります。 CGIを使ったメールフォームを利用したくて、KENT-WEBさんのpostmailをダウンロードして解凍、それをホームページビルダーで添付のメールフォームを自作で好みのメールフォームに書き換えました。postmail.cgiの内容もperlパスとかメールアドレスとか必要箇所も設置方法を参考に書き換えました。 メールフォームのHTMLの中には、<form action="postmail.cgi"method="post">も入れてあります。 そして、作ったhtml.indexのサイト全体に上記で作ったメールフォームをリンクさせました。 この状態で、レンタルホームページスペースにアップロードすると言う流れであっていますでしょうか。 postmailディリクトリを作ってそこにサイト全部をアップロードするのか、CGIのみをアップロードするのか、またpublic_htmlというディリクトリにはサイト全体をアップロードしなければいけないと言う事であっていますか? その他アクセス制限を支持通りかどうか確認すれば良かったでしょうか。 お借りするサイトさんは、CGI利用可能、sendmailにも対応しています。 ビルダーで転送する前に、画像gifは全てimageと言うフォルダを作って全てそこへ移動しましたので、アップロードする時にはimageと言うディリクトリが自動で作成されます。 postmailのフォルダもあるので、その中のメールフォームをhtml.imdexにリンクさせた時点でpostmail.cgiと言うディリクトリが出来ると思うのですが、サイトさんのディリクトリをいじり過ぎてわからなくなってしまうと元に戻せないので、長文になってしまい申し訳ありませんが、 初心者で、勉強不足もありご面倒かと思いますが、ご意見をどうぞ宜しくお願いいたします。

    • ベストアンサー
    • CGI
  • お問い合せフォームのテンプレートを探しています。

    お問い合せフォームのテンプレートを探しています。 小説HTMLの小人さんの多機能CGI「MailDwarf」で、お問い合せフォームを作ろうと思っています。 サイトのデザイン自体はブログ風にしているのですが、フォームのページは項目が多いため、独立したページにしたいと思っています。 cgiプログラムはHTML埋込型のため、フォームのページはcssなどを使ってデザインしたいと思ってます。 そこでおしゃれなフォームのテンプレートなどないかと探してみたのですが、コンテンツページ等のテンプレートはあっても、なかなかフォームのテンプレートというのは見つかりません。 あっても一言メッセージ向きのものや、ごくごくシンプルなものが多いです。 英語が苦手なため、できれば日本語のサイトがいいのですが、どなたかフォームのテンプレートを取り揃えている配布サイトをご存知ないでしょうか? 注文が多くて申し訳ないですが、著作権表示はあってもいいので無料なものをお願いします。

    • ベストアンサー
    • HTML
  • メールフォームで特定項目だけ必須にならないのはなぜか?

    下記のフォームでTELだけ必須にならないのは なぜでしょうか? http://blowz.co.jp/menu01/apply.html 実験で、確認ボタンなど押してもOKですので 教えて頂けないでしょうか? ソースのどの部分を変更すればいいでしょうか? 下記のCGIを使っています http://www.kent-web.com/data/postmail.html kent

    • ベストアンサー
    • CGI
  • ホームページのメールフォームにcgiを設置したのですが実際に送信してみるとpostmail.cgiの画面になってしまいます

    ホームページビルダーでつくり、KENT-WEBさんのpostmail.cgiを設置しました。 postmail.cgiを組み込んだpostmail.html, log.cgi, body.txt, conf.html, thx.html, err1.html, err2.html, io-socket.pl, jcode.pl 上記もすべてアップしました。 正常に作動すれば、postmail.htmlから送信して、エラーがあればerr1.html、err2.htmlになり、確認をconf.htmlでとり、thx.htmlで受信完了の挨拶になり、body.txtで、こちら側に受信となるのだと思いますが、postmail.htmlから送信するとpostmail.cgiの画面になります。 {log.cgi, body.txt, conf.html, thx.html, err1.html, err2.html, io-socket.pl, jcode.pl}これらは、単体ではアドレス入力で表示されますが、お互いが反応しないようなのです。 もうひとつ、疑問なのが、.htaccessをアップしたのですが、ホスト側に表示されません。 どこをどう直したらいいでしょうか? まったくの初心者です。よろしくお願いします。

  • メールフォーム

    よろしくお願いします。 メールフォームをkentwebさんよりダウンロードしました。 ビルダー11でフォームを作成したのですが、フォームはここで作成するのではないのでしょうか? もしそうなら、ただ単に作成するだけではだめですよね、それが分からなくて。 postmailのフォームのどの部分を変更すればいいのか全く分からなくて、やはりムリなのでしょうか?初心者には。 kentwebさんにもちろん質問しましたが、HTMLについてはご解答いただけないのでこちらで質問させていただきました。 CGIで変更箇所など説明どおり変更しました、 ( perlパスなど)メールフォームの中身(住所や名前など記入項目)を変更するにはどこですればいいのでしょうか? それともビルダーで作ったメールフォームに何か記入してサーバーへアップするのでしょうか? ダウンロードしたときフォルダには下記が入っていました。 postmail.cgi でPerlなどを変更しました。 public_html / index.html (トップページ) | +-- postmail / postmail.html | postmail.cgi [705] | +-- lib / jcode.pl [604] | io-socket.pl [604] | mimew.pl [604] ... 任意 | +-- data / log.cgi [606] | +-- tmpl / body.txt conf.html thx.html err1.html err2.html 初心者で本当に基本的なことで申し訳ありません。説明を何度も何度も読み返したのですが、理解できませんでした。 本当にこんな質問で申し訳ないのですがよろしくお願いします。 違うカテゴリーで質問したのですが、こちらのほうがいいと回答いただきましたので、以前の質問を終了しこちらで質問させていただきました。よろしくお願いします。

  • フォームメールの特定項目を、CGIに貼付け実行する

    似た質問の回答を捜しましたが、良く理解できない「おじさん」です。 よろしくお願いいたします。 A.現状:  フォームメールHTML(KENTさん)からWEB de アンケート(無料CGI)にデータを送りたいweb_de.cgiを修正して、「川柳の投句ページ」を作成しています。  投句者の情報が必要なので、Cgiにリンクを貼り、postmail.htmlで、情報入力をしていますが、   ・本人の投句を「メールホーム」に記入し、   ・さらに「CGI」の「textBOX」に同じ句を書き込む現状です。   ・postmail.htmlに記入した「投句」データを送りたいのです。  HTML内から、直接CGIにデータ貼付け&CGI内のボタンを押すことは、可能でしょうか? (但し、CGI内の変更は、私には未熟で?です。・・・出来るのは文字の記述修正位です) よろしく、お願いいたします 1.送信側(postmail.html)  ■送りたい項目   <form action="./postmail.cgi" method="post">  <textarea name="投句1" cols="50" rows="1"></textarea> 2.受取側(web_de.cgi?_mode=view&id=1329846611)  ■受け取る項目の記述    #!/usr/local/bin/perl   (略、該当箇所のみ記載)   { print "<b> 投句する:</b>   <input typep=text name=\"new_v\" value=\"\" maxlength=80 size=40>"; }   if ( !$time_out ) { print "<input type=submit value= 投句 >" ; }  (略) B.実行したいこと 1).postmail.html内の「"投句1"」を 2).web_de.cgi内のtextに貼付け、CGI投句ボタンを押して、 3).元のpostmail.htmlに戻る 4).「"投句2"」、「"投句3"」を実行 5).元のpostmail.htmlに戻る 6).元のpostmail.htmlに戻る   (投句を含めた他の情報を入力、送信する) C.教えて頂きたいこと  ■Bの2)に記述した命令の記述  恐れ入りますが、よろしくお願いいたします。

    • 締切済み
    • CGI
  • 気軽に送れるメールフォーム作成について

    サイトに設置するメールフォームについて質問します。 説明が下手なのでわかりにくいかも; ●名前・メッセージだけの簡単なフォームを作りたい ●名前欄は入力してもしなくても送信できる ●レイアウトがHTMLで加工できると嬉しい ●確認画面が出るものがいい 以上が希望です。 実際にKent-webさんの所からフォームメールのCGIをDLし解らなかったこと↓ ●HTMLでサンプルについていたラジオボタンやメール入力欄などの<input~ />というタグは外しました。 ↓ それでテスト送信してみると、確認画面で削除した項目の「○○は入力必須です。」と表示されます。 name値の先頭に「アンダーバー 」を付けると、その入力値は「入力必須」となる、とはあったのですが、項目ごと削除しても出てくるのです。 何故でしょう・・・; cgiファイルの中にあるのかな、と思って探してみても情けないことによく解りませんでした。 他に何か触るところはありますか? サーバーエラーはないので何かが足りていないような気がします・・・。 以上の事、お分かりになる方がいらっしゃいましたら教えてください。 よろしくお願いします。

    • ベストアンサー
    • CGI
  • 問い合わせフォーム 文字化け

    ホームページに問い合わせページを作るためkent-webさんのPOST-MAILのフォームを使用させてもらいました。 http://www.kent-web.com/data/postmail.html チェックモードでの確認は問題なかったんですが、 テストで登録しようとしたらエラー表示が文字化けします。 それと、確認画面の次のページにいこうとすると、 「Undefined subroutine &main::mimeencode called at postmail.cgi line 483. 」 というエラーが出ます。 ちなみに483行目は、 # MIMEエンコード if (-e $mimew) { require $mimew; $subject2 = &mimeencode($subject); if ($in{'name'}) { $from = &mimeencode("\"$in{'name'}\" <$email>"); } else { $from = $email; } } else { $subject2 = &base64($subject); if ($in{'name'}) { $from = &base64("\"$in{'name'}\"") . " <$email>"; } else { $from = $email; } } charsetがutf-8なのが問題なのかと思い、s-jisに変えるとHTML自体が文字化けしてしまいました。 原因、対処法を教えてください。お願いします。

    • ベストアンサー
    • CGI

専門家に質問してみよう