アプリ版:「スタンプのみでお礼する」機能のリリースについて

<開発環境>
OS:Red Hat Enterprise Linux 4
WWWサーバー:Apache 2.0.52
Perl:5.8.8

フォームに入力し、ボタンを押すとメールが自動送信されるCGIを開発おり、URLの末尾(?以降)に持たせたパラメータが途中で失われてしまうため、困っております。

仕様は
1.入力画面→(POST)→2.確認画面→(POST)→3.送信完了画面
となっており、1で入力して2で確認し、3でメールを飛ばす処理は問題なく動いていますが、1から2へ遷移するとパラメータが失われてしまいます。

html::templateというモジュールを用いており、テンプレートファイルへの値の受け渡し方がよく分かりません。

1のURL末尾のパラメータを確保し、2以降へ受け渡す書き方を教えて頂けないでしょうか。

よろしくお願い致します。

A 回答 (3件)

スクリプト、テンプレートが見えないので何ともいえないのですが、


job_num <-> jobnum がうまくいってないんじゃないですか。
いちどステップを print してみたらどこに問題があるのかわかると思います。
    • good
    • 0

入力ページを呼び出すURLのパラメータの2つ目に $jobnum があるのかな?

この回答への補足

はい、そうです。
他に不足している情報があればお伝えします。
よろしくお願い致します。

補足日時:2009/08/08 23:25
    • good
    • 0

> フォームに入力し、ボタンを押すとメールが自動送信されるCGIを開発おり


ということは、ご自分でスクリプトを書いているってことですよね。
でしたら、フォームから受け取ったデータをどのようにパースしているのか、開示していただかないとアドバイスの仕様がありません。

この回答への補足

ご回答ありがとうございます。
下記が入力画面の、パラメータ(お仕事No)を受け取っている部分です。
---------------------------------------------------------
#お仕事Noの受け渡し
my $jobnum = '';
if ($ENV{'QUERY_STRING'} ne '') { $jobnum = (split('&',$ENV{'QUERY_STRING'}))[1];}

# HTMLテンプレート パラメータ
$tmpl->param(
'type' => $type,
'error_count' => scalar keys %{$error_list},
'user_referer' => $ENV{'REQUEST_URI'},
'job_num' => $jobnum
);

確認画面へは、
<input type="hidden" name="jobnum" value="<!-- TMPL_VAR name=jobnum ESCAPE=HTML -->" />
としてPOSTで渡しています。
---------------------------------------------------------

下記が確認画面の、パラメータを受け取っている部分です。
---------------------------------------------------------
#お仕事Noの受け渡し
my $jobnum = '';
$jobnum = $in{'jobnum'};

# HTMLテンプレート パラメータ
$tmpl->param('loop_list' => \@loop_list,
'job_num' => $jobnum
);

送信完了画面へは、
<input type="hidden" name="jobnum" value="<!-- TMPL_VAR name=jobnum ESCAPE=HTML -->" />
としてPOSTで渡そうとしています。
---------------------------------------------------------

そして下記が送信完了画面の、パラメータを受け取っている部分です。
メール本文中にパラメータ($job_num)を表示させるのが最終目的です。
---------------------------------------------------------
#お仕事Noの受け渡し
my $jobnum = '';
$jobnum = $in{'jobnum'};

# HTMLテンプレート パラメータ
$mail->param(
'loop_list' => \@loop_list,
'job_num' => $jobnum
);

現状、メール本文中に<!-- TMPL_VAR NAME=jobnum -->としてパラメータを表示させようとしていますが、表示されません。
---------------------------------------------------------

よろしくお願い致します。

補足日時:2009/08/08 10:52
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!