• 締切済み

CGIの組み方が解りません

会社のHP制作しているのですが、 見積もりフォーム作ろうと思っています。 <FORM action=http://●●●.jp/●●●cgi method=POST >←良く解りません <INPUT type="hidden" name="mailto" value="●●●@●●●.jp"> <INPUT type="hidden" name="subject" value="見積もり依頼"> <INPUT type="hidden" name="location" value="formend.html"> どこかのサイトを拝見してこのような感じで行ったのですが、 最初のform actionが良く解りません。 そもそもCGIをどのようにつくり設置するのか根本的なことが良く解りません。 何処か解り易く説明しているcgiの組み方、メールフォームの作り方などがあれば教えてください。

みんなの回答

  • neko-ten
  • ベストアンサー率55% (1287/2335)
回答No.4

ちょい厳しい意見です。 現状、CGIとかフォームとか、それを手につけられる知識レベルじゃないです。 form要素に含まれる属性がわからないってことは、そもそもHTML自体の理解が足りていません。 また、CGIがサーバ側で動いてるってことがわからないってことは、HTTPの仕組みが理解できてないんじゃないかね。 現状は、補助輪つき自転車にも乗れない状態です。そんな状態で補助輪なし自転車に乗りたいと言ってるもんです。 まずはHTMLやHTTP、サーバの概念などの理解をすることです。 サーバサイドのシステム作るんですから、それがわからなければ作れません。 その上、PHPやPerl、Rubyといったスクリプト言語を習得しなければいけません。 また、会社のWebSiteってことであればセキュリティも重要。 足りない技術でフォームを作ったとして、そのデータが外部に漏れれば一発セキュリティ事故です。 また、会社向けフォームにSSLも使ってないようなシステムを顧客が信用するとも思えません。 期日近いのであれば、アウトソーシングするしか今は手がないと思う。 入門書としては、オライリーで出版してる 初めてのPerl http://www.oreilly.co.jp/books/9784873114279/ CGIプログラミング http://www.oreilly.co.jp/books/4873110440/ 初めてのPHP5 http://www.oreilly.co.jp/books/4873112575/ 値段はしますが、ベーシックな内容をきちんとまとめています。 それぞれ、サーバ側技術を軸にした参考書 Webを支える技術 -HTTP、URI、HTML、そしてREST http://p.tl/fm7N Webアプリケーション構築入門(第2版) http://p.tl/qtjs WebAppの構築指南書です。

回答No.3

>何処か解り易く説明しているcgiの組み方、メールフォームの作り方などがあれば教えてください。 CGIに関する本を買ってきた方が良いと思います。 順序立てて解説してありますから、わかりやすいと思います。 ウェブサイトでも一応順序立ててありますが、ページの読み方(リンクのたどり方)が固定ではない (参照ページなどとリンクが張ってあると、本来の順序からずれたページに飛んでしまう) ため、その順序の通りに読めるとは限らず、理解できないまま先に進んでいたりすると思います。 http://www.tohoho-web.com/www.htm CGI、Perl、PHPの項目参照。

  • fnfnnis3
  • ベストアンサー率34% (203/581)
回答No.2

CGIの設置はしたこと有りますか? 先ずプロバイダーにFORMメールの提供があればそれを使うほうが楽です。 それとsendmailのパス、勿論perlのパスを確認しておきましょう。 どちらもCGI本体に必要です。 無料でFORMMAILのCGIが公開されていますから、その説明に従って設定します。 で、見積もりフォームのほうですが、 ><FORM action=http://●●●.jp/●●●cgi method=POST >←良く解りません ここにはCGI本体のパスを書きます。あなたの会社のHPのFORMCGIを収納した場所です。 ><INPUT type="hidden" name="mailto" value="●●●@●●●.jp"> 記入済フォームを受け取るメアドです。あなたの会社のメールアドレスを入れます。 ><INPUT type="hidden" name="location" value="formend.html"> お礼のhtmlを絶対ぱすhttpから入れます。そのままでも既成のサンクス表示が出ます(たぶん) 見積もりフォームそのものは出来ますか? 気に入ったフォームがあったら、ソースの表示で参考に出来ると思います。 一例ですが、カラーとか関係ないですが私が使っているアンケートの一部です。 <TR bgColor=#99ccff> <TD align=left colSpan=2 noWrap><FONT size=2 style="FONT-SIZE: 10pt">電話番号など2(任意)</FONT><BR></TD> <TD><FONT size=2 style="FONT-SIZE: 10pt"><input type=text name="TEL2" size=40></FONT><BR></TD></TR> このような項目を作った場合、受け取りメールでは subject =見積もり依頼 TEL2   =123-4567-8901 のように着ます。

  • ORUKA1951
  • ベストアンサー率45% (5062/11036)
回答No.1

CGIとはもCommon Gateway Interfaceと言って、サーバーサイドで実行されるプログラムで、ユーザーからformで送信されるデータや環境変数を使って主にHTMLを作成して提供されるものです。(画像や単に内部的なデータ処理に使う場合もあります。)  通常のHTMLは、サーバーに置かれているファイルをそのまま提供するものですがもCGIを使うことによって、そのHTMLを動的に作成することが出来ます。  基本的なことは ★CGI RESCUE - ネットサーフレスキューWeb裏技 ( http://www.rescue.ne.jp/ )  の基礎知識などをお読みください。  ご利用のサーバーにすでにメールCGIが設置されていれば、そのマニュアルを読んでその指定どおりにフォームを作成すれば良いです。  action はフォームの送信先、methodは、そのデータの渡し方です。getはURLの一部(QUERY STRINGS)として、postは標準入力となります。他にPATH_INFOがあのます。  自前のCGIを設置できれば、フォームにアドレスは書かない(でCGI側に置いた)ほうが良いでしょう。

関連するQ&A

  • 送信先CGIの選択

    <form method="post" action="file.cgi"> <input type="hidden" name="password" value="xxx"> <input type="hidden" name="action" value="zzz"> <input type="text" name="name" size="50" value=""> </form> この場合、送信先CGIがfile.cgiに固定されていますが、action="送信先"をリストボックス等を使って複数選択できるようにしたいと考えています。可能でしょうか?

    • ベストアンサー
    • Perl
  • フォームボタンをリンク風に表示

    <form action="mailto:"> <input type="hidden" name="subject" value="{subject}"> <input type="hidden" name="body" value="{body}"> <input type="submit" value="メール送信"> </form><br> メーラが立ち上がると、ディフォルトで件名と本文が入るようにしています。しかし、ブラウザー上でフォームの「ボタン」表示ではなく、「リンク」のような表示にしたいのですが何か方法はあるのでしょうか? <a href="mailto:"> これだと、ディフォルトでの表示ができなくなるし。

    • ベストアンサー
    • HTML
  • 複数FORMの一括実行について

    通常であれば同一サイト内に下記のソース(フォーム)が入るのですが、 これを改良しサイト上で希望の送信先をチェックボックスで選択し一回の操作で複数のcgiを実行したく思います。 良いcgiがあれば教えてください。 又は改造ができるcgi、修正方法を分かりましたらお教え願います。 サイトA <form action="https://aaa.cgi" method="post"> <input type="hidden" name="名前" value="name"> <input type="hidden" name="メール" value="mail"> <input name="Submit" type="submit" value="送信"> </form> サイトB <form action="https://bbb.cgi" method="post"> <input type="hidden" name="名前" value="name"> <input type="hidden" name="メール" value="mail"> <input name="Submit" type="submit" value="送信"> </form> サイトC <form action="https://ccc.cgi" method="post"> <input type="hidden" name="名前" value="name"> <input type="hidden" name="メール" value="mail"> <input name="Submit" type="submit" value="送信"> </form>

    • 締切済み
    • CGI
  • submitではなくbuttonで送信

    事情があり、submitではなくbuttonでフォームのデータを送信したいのですが、以下のように書くとbuttonでは4567が送信されません。 <form action="test.cgi" method="post"> <INPUT type="hidden" name="aaa" value="1234"> <INPUT type="submit" name="bbb" value="4567"> </form> ↓ <form action="test.cgi" method="post"> <INPUT type="hidden" name="aaa" value="1234"> <INPUT type="button" name="bbb" value="4567" onclick="submit();" > </form> submitと同じように、bbbのデータ4567も送信するにはどのように書けばよいのでしょうか? 宜しくお願いします。

  • フォームCGIメールについて教えてください

    OCNのPAGE ON のホームページにフォームCGIメールをつけました。 設定例を参考に、そのまま貼り付けたところ、コメントの行数が1行です。 5行くらいにしたいのですが、やり方が分りません。 教えてください。よろしくお願いします。 以下がOCNの設定例です。 <FORM METHOD=\"post\" ACTION=\"/cgi-bin/formmail.pl\"> <INPUT TYPE=\"hidden\" NAME=\"recipient\" VALUE=\"???@???.ocn.ne.jp\"> [題名]:<INPUT NAME=\"subject\" SIZE=\"30\"><BR> [氏名]:<INPUT NAME=\"name\" SIZE=\"30\"><BR> [E-mail]:<INPUT NAME=\"email\" SIZE=\"30\"><BR> [コメント]:<INPUT NAME=\"comment\" SIZE=\"30\"><BR> <INPUT TYPE=\"submit\" VALUE=\"送信\"> <INPUT TYPE=\"reset\" VALUE=\"クリア\"> </FORM>

  • ボタン別でフォームの送信先を変えたい

    同じ場所に3つある今のフォームを1つにまとめたいのですが、 「ラジオボタン」でやるのではなく「submitボタン」によって送信先の振り分けはできないのでしょうか? CGIなどを使って一旦クッションを置くのは問題ないです。何か参考になるサイトさんとかありましたら教えてください。 <form action="1.php" method="get" class="form" target="a" name="1"> <input type="hidden" name="s" value=90 /> <input type="hidden" name="t" value="e" /> <input type="text" name="moji" value="" size="8" /> <input type="submit" name="button" value="検索" /> </form> <form action="http://e.php" method="get" name="2" target="a"> <input type="hidden" name="test" value=et /> <input type="text" name="77" value="" size="8" /> <input type="submit" value="検索2" class="button" /> </form> <form action="http://8.cgi" method="get" target="a"> <input type="text" size="8" name="q" value="" /> <input type="submit" value="検索3" class="button" /> <input type="hidden" name="sut" value="JJ" /> </form>

    • ベストアンサー
    • CGI
  • フォームタグを送信した後に表示されるページ

    フォームタグを送信した後に表示されるページを指定したいのですが、どうすればいいのか分かりません。タグは <form method=POST action="フォームサービスのCGIアドレス"> <input type=hidden name="_mailto" value="私のメアドです"> あなたのお名前<br> <input type="text" name="name"><br> (略) <input type=submit value="送信"> こんな感じです。 よろしくお願いします。

  • フォームタグについて

    二つのフォームタグを一つのボタンで送信したいのですが、可能でしょうか? <form action="http://aaa/" method="post"> <input type="hidden" name="comment" value="テキスト "/> <input type="hidden" name="mode" value="com_w" /> <input type="hidden" name="no" value="1" /> <input type="submit" value="登録" /></form> <form action="http://bbb/" method="post"> <input type="hidden" name="comment" value="テキスト "/> <input type="hidden" name="mode" value="com_w" /> <input type="hidden" name="no" value="2" /> <input type="submit" value="登録" /></form> 同じデータをもっているフォームですが、送信するページが別々になっています。 この二つのフォームを一つの送信ボタンで送信できますでしょうか? 色々と調べましたがわかりません。 よろしくお願いいたします。

  • リンク先のcgiが開かない

    お世話になります。 既存のcgiを改造しているのですが、リンク先のcgiが開かず、何のエラーもなく、元のページが再表示されてしまっています。何が原因なのでしょうか? ソース自体は改造前と見比べてみても(パラメータを追加した以外)なんら変わりはありません。 <FORM METHOD=POST ACTION="t02.cgi"> <INPUT TYPE=HIDDEN NAME=A VALUE="123"> <INPUT TYPE=HIDDEN NAME=MODE VALUE="111"> <INPUT TYPE=HIDDEN NAME=BU VALUE="DD"> <TD COLSPAN=6>&nbsp;&nbsp;<INPUT TYPE=SUBMIT VALUE="ダウンロード"></TD> </FORM> 上記のようなテキストをperlで組み立ててスキンにはめ込んで作っています。 よろしくお願いします。

    • 締切済み
    • CGI
  • javascriptからCGIへの値渡し

    cookieは利用しない方向で考えています。 HTML上のdocument.form01.のsubmitが押下されたら一度手入力されたデータ(userinput)を加工し、 別のフォームform02.valueに格納してtest.cgiにPOSTで投げる動作を期待しています。 下記だとページ遷移無しで一時的な格納まで確認しましたが CGIへの送信が機能していないようです。 どの様にすべきでしょうか? [html] <script type="text/javascript"> <!-- function onSubmit() { document.form02.sendform.value = '\"' + document.form01.userinput.value + '\"'; document.form02.submit(); } --> </script> <body> <form name="form02" method="POST" action="test.cgi"> <input type="hidden" name="sendform" value=""> </form> <form method="POST" action="" name="form01"> <input type="text" name="userinput"> <input type="submit" value"送信" onclick="return onSubmit();"> </form> </body> </html>

専門家に質問してみよう