- 締切済み
CGI 実行後に HTML でフォーム付のページを出力したいのですが・・・
CGI 初心者ですが、質問です。商品の合計金額を出す CGI プログラムを実行後に HTML でフォーム及び送信ボタン付のページを出力したいのですが・・・色々とサイトを渡り歩いたのですが、初心者なものでどのサイトを見てもそれらしき事は書いてあるのですが何の事を書いてあるのかが全くわかりません。大変お手数で申し訳ないのですがプログラムの記述ヒントをこの場で頂ければ助かります。宜しくお願い致します。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- komorebi99
- ベストアンサー率33% (15/45)
komorebi99です 追伸です。 #3で 商品名の変数を$brandname,(合計)金額の変数を$resultとしていますが、メールの送信先を指定する場合は例えば$atesakiを追加して <form> ~ </form>の中に print "<input type='hidden' name='atesakidata' value=$atesaki>"; を記述し、メールプログラムのであて先アドレスを指定できるように しておく必要がありますね。
- komorebi99
- ベストアンサー率33% (15/45)
kz0618さんのご質問の「送信」はメール送信ということなのでしょうか? 単に「送信」というと、ブラウザからサーバーにデータを送信することを 指すのです。 サンプルプログラムとして、計算結果と送信ボタンを表示するperl/CGI コードを書きました。 決定された内容をメールで特定の方(例:管理者など)に送信するには、 <form>タグ中にメール送信のCGIプログラム名を記述すればFormの送信 ボタン(type=submit)のクリックで実行されます。 ところで、メール送信のプログラム(ソース)は用意されていらっしゃる のでしょうか? #! /perl/bin/perl # サンプルプログラム $brandname = 'パソコン'; $result = 1000; print "Content-type: text/html\n\n"; print << "END"; <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <title>Formのサンプル</title> </head> <body> <form > END print '商品名は'."$brandname<br>\n"; print '合計金額は'."$result".'円です'."<br>\n"; print "<hr>"; print '決定しますか?'."<input type='submit' value='決定' name='buybtn'>\n"; print "</form>"; print << "END"; </body> </html> END exit;
- komorebi99
- ベストアンサー率33% (15/45)
もう少し「やりたいこと」を教えてください。 1.「合計金額」などの計算結果を含めて送信したいのでしょうか? 2.計算結果などは関係なく、別のhtmlページを出力したいのでしょうか?
補足
そうなんです。合計結果の計算結果も含めて送信したいんです。 一応素人なりに構想を考えて見ました。 1. まず CGI で計算結果を HTML 出力する。 2. その計算結果 HTML に ( フォーム & 送信ボタン ) の プログラムも同時出力する。 3. 出力された HTML データのフォームから先ほどの 計算プログラムではなく、Sendmail プログラムを呼び出して送信。 ・計算結果 = 計算結果用 CGI プログラム ・メール送信 = Sendmail 用 プログラム 計算用 HTML ↓ ( 計算 ) 計算用 CGI プログラムを使用 ↓ 計算結果・フォーム・送信ボタンが HTML 出力される ↓ ( メール送信 ) Sendmail プログラムを使用 このような形で組むのが素人の僕にとっては一番簡単な作り方だと思うのですが・・・いかがな物でしょうか?お手数をおかけして申し訳ございません。
- MicroK2O
- ベストアンサー率53% (33/62)
買い物カートのようなものを考えているのでしょうか。 それならば色々なスクリプトを読んで使って研究するのが 一番手っ取り早いTと思います。 「CGI 買い物カート スクリプト」などと検索して 色々なスクリプトを見比べてみてはいかがでしょう。 流石にいきなり1から作るのは難しいと思いますので。
お礼
そうですね。やはりテンプレートを使用するのが一番簡単ですね・・・ 地道に頑張ってみます。有難うございました。
お礼
komorebi99 さん動きましたよ~!!商品パーツ選択ページで各商品別の数量・価格と合計金額を算出し、それを Sendmail で送信できています。これ応用すると色んな事に使えそうです。CGI 暦1ヶ月の僕がまさか見積シミュレーションシステムを作る事が出来たなんて自分でも信じられません。これも komorebi99 さんの丁寧なアドバイスのお陰だと思います。komorebi99 のヒントであらゆる道が開けました。本当に有難うございます。これからも頑張ります。
補足
本当に親切かつ丁寧な説明感謝致します。今まで Perl に関するあらゆる掲示板で幾度となく質問等して参りましたが、今回のような親切かつ丁寧な説明をお受けしたのは初めてです。お陰様で何とか動きそうな気がします。ご好意を無駄にせぬよう何とか頑張って動かしてみます。無事プログラムが動きましたらこの掲示板にてご報告させて頂きます。本当に有難うございました。