• 締切済み

メールフォームCGIを少し改造したいのですが。。。(ー_ー?

よろしくお願いします(ー_ー) 下記のサイトで配付されている「Web Mail [P]」と言うメールフォームCGIを使用したいと思っています。 http://www.pmcj.com/ 私がやりたいと思っているのは、まずAページでいくつか商品が掲載されており、欲しい商品1つを選んでボタンを押すと、次ぎのメールフォームのページの上部に、選んだ商品の名前と値段を表示させて、その下に住所等の情報を書き込んでもらいたいと思っています。 選んだ商品によって、メールフォームに表示させる商品名や値段を変えるようにしたいのですが、どのように改造をすれば良いでしょうか。 Aページの商品毎にhiddenを使用して、メールフォームCGIに値を渡して選択商品によって表示を変える事はできるのでしょうか。 AぺーじはHTMLで記述されており、表示しております。 アドバイスをお願い致します。

みんなの回答

回答No.1

wmailp.cgi 339行目からの  sub MailCheck{ の中がメール送信確認画面になりますので、そこの中で、全画面から与えられたhiddenの値によって条件分岐させれば出来るはず。。ですが。。 単純にそのような方法では値段が変わったり商品が変更されたり増えたり減ったり、ということがあるたびプログラムを変更しなければならず、のちのちのメンテナンスに相当な手間が無駄にかかります。 それならば、ショッピングカート系のCGIプログラムを探してきたほうがずっと楽で早いと思います。

Cuty_Cat
質問者

お礼

御回答ありがとうございます。 確かに仰るようにショッピングカートのCGIを使った方が良いですよね。 一応代替的なショッピングカートはすでに探して用意してあるのですが、改造しようとしていたメールフォームCGIの方が自由に項目を増やす事ができ、またレイアウトも簡単に変更できる点から、メールフォームで対応できないか模索していました。 前ページ(商品選択画面)から、どのように値を渡して、メールフォーム上に選んだ商品を表示させれば良いのかが分りません。 例えば <input type="hidden" name="syouhin-1" value="りんご"> と商品選択画面の中に入れておき、選択ボタンを押した時にメールフォームに飛ぶわけですが、前画面で選択した商品が「りんご」と言うのをメールフォームにも表示させたいのです。 もちろん選択された商品の内容によっては、「いちご」や「みかん」等、表示される内容は変わります。 メールフォームの表示させたい場所に$syouhin-1と入力しておけば、選択した商品にあった文言を表示させるような事はできないでしょうか。 素人なりにいろいろと触ってみましたが、どうしてもダメでした。 アドバイスを頂けると嬉しく思います。

Cuty_Cat
質問者

補足

自力で何とか自己解決する事ができました。 以下私が解決した方法です。 「CGI.pm」を使用すれば、自由にformの値を受け取り出力できるような事を見たので、CGI.pmを使用する事にしました。 cgiの上部に下記を記述 use CGI; $q = new CGI; $test2 = $q->param('testtest'); そしてHTMLファイルで、値をメールフォームCGIに渡しい項目は下記の通り ■ テスト:<input type="text" size="20" name="testtest"><br> そして、メールフォームCGIで、表示させたい場所に$test2と記述したら、入力された内容が表示されるようになりました。 少しずつ勉強して、解決できた時が嬉しいですね。 これからも、よろしくお願いします。

関連するQ&A

専門家に質問してみよう