• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:html::templateにおけるパラメータ受け渡し)

html::templateにおけるパラメータ受け渡し

このQ&Aのポイント
  • HTML::Templateを使用して、パラメータをテンプレートファイルに渡す方法がわかりません。
  • フォームに入力し、ボタンを押すとメールが自動送信されるCGIを開発していますが、URL末尾のパラメータが途中で失われてしまいます。
  • 入力画面から確認画面への遷移時に、パラメータを確保して次の画面に受け渡す方法を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • okmotokun
  • ベストアンサー率59% (92/155)
回答No.3

スクリプト、テンプレートが見えないので何ともいえないのですが、 job_num <-> jobnum がうまくいってないんじゃないですか。 いちどステップを print してみたらどこに問題があるのかわかると思います。

すると、全ての回答が全文表示されます。

その他の回答 (2)

  • okmotokun
  • ベストアンサー率59% (92/155)
回答No.2

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

kishi1204
質問者

補足

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

すると、全ての回答が全文表示されます。
  • okmotokun
  • ベストアンサー率59% (92/155)
回答No.1

> フォームに入力し、ボタンを押すとメールが自動送信されるCGIを開発おり ということは、ご自分でスクリプトを書いているってことですよね。 でしたら、フォームから受け取ったデータをどのようにパースしているのか、開示していただかないとアドバイスの仕様がありません。

kishi1204
質問者

補足

ご回答ありがとうございます。 下記が入力画面の、パラメータ(お仕事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 -->としてパラメータを表示させようとしていますが、表示されません。 --------------------------------------------------------- よろしくお願い致します。

すると、全ての回答が全文表示されます。

関連するQ&A