フォームメールのCGIをPerlで作成しようとしていますが、
変数の使い方がうまくいきません。
ご指南お願いします。
フォームからのデータを受け取って変換したあとの項目に
$FORM{'name_1'} ~ $FORM{'name_60'}
$FORM{'naiyou_1'} ~ $FORM{'naiyou_60'}
とあります。
たとえば
name_1 に"名前"
name_2 に"住所"
naiyou_1に"田中"
naiyou_2に"東京都"
が入っているとして
内容確認のページに
【$FORM{'name_1'}= $FORM{'naiyou_1'}】
【$FORM{'name_2'}= $FORM{'naiyou_2'}】
=【名前 = 田中】
【住所 = 東京都】
と表示したく、
$k_name = "name_"
$k_value = "naiyou_";
for ($i = 1 ; $i <= 60 ; $i++){
$mailbody .= "$FORM{'$k_name.$i'} = $FORM{'$k_value.$i'}\n";
}
として
$mailbodyに追加していき、
最後に纏めて
print "$mailbody\n";
としようと思っていますが、
この状態で実行テストすると$mailbodyが何も入ってなく
空の状態のまま表示されます。
$i = 1 の時
$FORM{'$k_name.$i'}は
$FORM{'name_1'}と見ていないのでしょうか?
また、
$FORM{'$k_name.$i'}を
$FORM{'name_1'}と見るようにするには
どうしたら良いのでしょうか。
どなたか知恵をお貸し頂けませんでしょうか。
わかりにくい点がありましたら、補足致しますのでご指摘ください。
よろしくお願いします。
No.1ベストアンサー
- 回答日時:
>$FORM{'$k_name.$i'}は
>$FORM{'name_1'}と見ていないのでしょうか?
$k_name.$iがシングルクォートで囲まれているのでそのままハッシュのキーを$k_name.$iと解釈しています。
for ($i = 1 ; $i <= 60 ; $i++){
$k_name = 'name_'.$i; $k_value = 'value_'.$i;
$mailbody .= "$FORM{$k_name} = $FORM{$k_value}\n";
}
としたらいいんじゃないでしょうか。
お早い回答ありがとうございます。
ご指摘の通り、''の内部はそのまま文字列として見てしまうんでしたね・・・
実はさんざん悩んで質問に至った訳なんですが、質問した途端に一番大事なところを記述し忘れているのに気付いたのです。
%FORM にそれぞれの値を代入する一文
例 : $FORM{$name}=$value;
を忘れてしまっていたので、この質問の内容では解決できないものでした・・・(^_^;)
お答えいただきましたのなんだか申し訳ございません。
しかし、上記の一文を記述していたとしても
""''の違いによる解釈の違いはあったのですから、良回答でポイントを差し上げたいと思います。
ありがとうございました。(^_^)
また、いつかこのサイト内で出会える事を願っています。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- JavaScript sessionStorageを調べています。 1 2023/06/20 12:41
- PHP PHPで画像の渡しが上手く行きません。 1 2023/02/02 09:39
- HTML・CSS ただいま勉強始めたての初心者です。フォームを縦並べにしたいです。 2 2022/11/20 17:18
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- PHP 重複を防ぐ記述について教えて下さい。 3 2023/04/03 14:35
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- PHP PHPでCookieを使った訪問回数について 1 2023/05/28 14:10
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Perlで特定文字列から特定文字...
-
テキストファイルで提出とは?
-
openした後、closeしないでプロ...
-
Perlのエラーについてご教授く...
-
perlの構文でカンマの意味が分...
-
Perl の外部モジュールの利用方法
-
Perlでsprintf("%02d",$month)...
-
Perlでの文字列置換
-
フローチャート 九九
-
perl LWPでURLにアクセスした時...
-
perl 初等プログラミングについて
-
Perlで、「が」を、「...
-
Windows版のPerlについて
-
このファイルを開く方法で困っ...
-
アルファベットに付いて質問し...
-
#!/usr/bin/perlで書きだしたCG...
-
perlのflock関数でロックをかけ...
-
AI sisterとは、偽物の人ですか?
-
bashスクリプト
-
ファイルアイコンの左下に緑の□...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VB6の公式リファレンスはありま...
-
C言語について。
-
CGFloatとは?
-
高速に文字列の比較
-
HTML::TemplateのTMPL_LOOPにつ...
-
$FORMの名前と変数の結合
-
画面を強制的に再描画させる方法
-
VBAでの一時停止と再開の方法
-
データベースでユーザーのパス...
-
VBのReturnの使い方
-
ループ7回目の悪役令嬢は、元敵...
-
UWSCの終了の仕方
-
Escキーを押すと、中断する時と...
-
エクセルの当番表を作っていま...
-
GIFアニメをループさせたくない
-
VBAで3秒だけ時間を止めたい
-
どなたかこのプログラミングを...
-
VBA for i=1 to lastrow
-
文字列を変数名として扱う方法
-
ハッシュ検索はなぜ速い
おすすめ情報