- 締切済み
メールフォームcgiの投稿完了メッセージについて。
メールフォームcgiの投稿完了メッセージについて。 htmlを複数用意することで複数のメールフォームを運用しています。 しかしcgiスクリプトで戻りのURLが指定されているので、すべてのメールフォームの完了メッセージが共通となっています。 できれば、それぞれのメールフォームごとに独自の完了メッセージを出したいと考えています。 希望) Aフォームの投稿終了時にはAフォーム専用の受付メッセージ Bフォームの投稿終了時にはBフォーム専用の受付メッセージ このような場合はそれぞれのcgiを用意しなければならないのでしょうか? また複数のメールフォームcgiを同じサーバー内に置いた場合の負荷はどの程度でしょうか? よろしくお願いいたします。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- kemui
- ベストアンサー率58% (7/12)
hiddenでパラメータを渡す方法を使われるなら、 戻り先URLにも利用されると良いかと思います。 <input type="hidden" name="from" value="a"> フォームタグで上記のように設定したら cgiで指定している戻り先URL(back)を下記のように設定されると良いかと。 if($from eq a){ $back = Aの戻り先URL; } else { $back = Bの戻り先URL; } ※分かりやすさメインで書いています^^; やりとりを拝見させていただくと、 cgiを複数設置してしまったほうが 楽じゃないかなと思います。 cgiそのものはお持ちのようですので宣伝っぽくなってしまいますが、 著作権表示不要のメールフォームを配布していますので、 よければご参考までに(もちろんフリーです)。 http://kemu.net/cgi_lib/mf1.html
- toraneko75
- ベストアンサー率51% (27/52)
どんなスクリプトかわからないので詳しくはお答えしにくいですが、 パターンとしてはおおまかに3つあると思います。 (1)メールフォームとCGIと完了メッセージを必要数分用意する (2)メールフォームにhiddenタグで書いておいて、完了メッセージを必要数分用意して分岐させる。 (3)メールフォームにhiddenタグで書いておいて、完了メッセージをCGIで分岐させて書かせる。 (2)と(3)はCGIプログラムを改造することになります。 (1)ならば例えばメールフォームAでA.CGIを呼び出してメールを送って、完了メッセージAに戻るようにしたらいいです。
- toraneko75
- ベストアンサー率51% (27/52)
フォームの方に<input type=hidden name="formname" value="A">といった形で hiddenタグで書いておいて、CGI側でそれを受け取って、分岐させたら一個でもメッセージは変えれますよ。 別のファイル作った方が簡単ではありますが、フォーム毎にCGI変えるとファイル数が増えますね。 複数のCGIと一つのCGIでさほど負荷は変わらないように思います。
お礼
ご回答ありがとうございます。 この場合、cgi側のbackの部分を変更する必要があるのでしょうか? アドバイスをいただければ幸いです。
お礼
アドバイスありがとうございます。 既存のスクリプトを設定するのがやっとのスキルなので複数のcgiを設置する方法を選択したいと思います。