<開発環境>
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以降へ受け渡す書き方を教えて頂けないでしょうか。
よろしくお願い致します。
No.3ベストアンサー
- 回答日時:
スクリプト、テンプレートが見えないので何ともいえないのですが、
job_num <-> jobnum がうまくいってないんじゃないですか。
いちどステップを print してみたらどこに問題があるのかわかると思います。
No.2
- 回答日時:
入力ページを呼び出すURLのパラメータの2つ目に $jobnum があるのかな?
No.1
- 回答日時:
> フォームに入力し、ボタンを押すとメールが自動送信される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 -->としてパラメータを表示させようとしていますが、表示されません。
---------------------------------------------------------
よろしくお願い致します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- CGI htmlからパラメータで、cgiに渡したい。 1 2023/02/06 16:15
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- PHP php 入力画面から確認表示画面へ情報の受け渡しについて。 1 2023/06/07 18:00
- PHP php 確認表示画面で値をSESSIONから取り出す理由の解釈は正しいでしょうか? 1 2023/06/09 17:39
- PHP PHPで入力フォームでデータを確認表示画面まで送る流れを日本語で理解したいのです。 1 2023/05/29 19:12
- その他(メールソフト・メールサービス) Windows10付属のメール、なぜ設定が劇的に簡単になったのか? 1 2022/12/16 13:14
- PHP 掲示板のセキュリティについてアドバイスお願い致します 1 2023/08/11 20:44
- iCloud iPhone端末変更時のLINE引継ぎ 4 2023/07/09 15:07
- Access(アクセス) お世話になっています いまクエリを作っています。。 デザインビューの画面の集計の欄で、「グループ化」 4 2022/09/17 17:03
- Outlook(アウトルック) PCで登録途中の画面から認証コードを確認する方法を教えてください。 3 2022/09/29 06:11
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VB6で、Bsmtp.dllを使って、メ...
-
BASP21のSendMailとSendMailEx...
-
VBA メール一斉送信で添付ファ...
-
MacのSafariはメール送信フォー...
-
ソケットで通信するデータの帯...
-
sendmailでメール送信ができない
-
ACCESSから、メール送信を行い...
-
メールフォームの受信先にg-m...
-
ビジネスメールの敬称
-
エクセルVBA テキストボックス...
-
DATE型変数を初期化する方法
-
数字以外の入力をエラーにする...
-
初歩的な事だと思います。 Sub...
-
入力フォームの値をQRコードで...
-
テキストボックスの番号を使っ...
-
EXCEL VBA で指定した範囲に入...
-
戻ると入力したフォームの内容...
-
DataGridView 列ごとの入力制限
-
DataGridViewの桁数制限に関して
-
EXCEL VBA のユーザーフォーム...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
お問い合わせフォームから送信...
-
フォームを再送信しますか?
-
Googleフォームを回答したか確...
-
Safariで「本当にこのフォーム...
-
チャットを作る
-
VBで添付ファイル付きのメール...
-
ACCESSから、メール送信を行い...
-
VBA EasyCommでの送信
-
VB.NET(2005)の"SerialPort" ...
-
BASP21のSendMailとSendMailEx...
-
VBA メール一斉送信で添付ファ...
-
メールフォームで送信すると「...
-
ホームページビルダーのメール...
-
Accessでメール一括送信ソフ...
-
c# メールが送信できたか確認
-
VB6で、Bsmtp.dllを使って、メ...
-
Message ID
-
VB.NETからGmail経由でメールを...
-
文字のフォントの色で分岐する...
-
Postmailの使用でメール受信が...
おすすめ情報