
こんにちわです!
会社でメールフォームのカスタマイズをすることになったのですが
どうしても出来ないのでお力をお貸し下さい!
kentさんのpostmailを使用してます。
http://www.kent-web.com/data/postmail.html
プルダウンメニューから選択された項目によって送信先を変えたいのですが
うまくフォームからの値をCGI側で拾ってくれてない(?)のです。
ネットで検索してこれだと思うのを試したのですがうまくいかず。。。
現状はHTML側では
<SELECT name="mailto">
<OPTION value="0" selected>AAA</OPTION>
<OPTION value="1">BBB</OPTION>
<OPTION value="2">CCC</OPTION>
<OPTION value="3">DDD</OPTION>
<OPTION value="4">EEE</OPTION>
<OPTION value="5">FFF</OPTION>
</SELECT>
CGI側では
107行目をコメントアウトして108行目に
@addrList = ('aaa@aaa.com', 'bbb@bbb.com', 'ccc@ccc.com', 'ddd@ddd.com', 'eee@eee.com', 'fff@fff.com');
$mailto = $addrList[$FORM{'mailto'}];
495行目はそのままの
$body = "To: $mailto\n";
としてます。 上記方法だとすべてaaa@aaa.comにメールが送信されます。。。
他にも
108行目に
$mailto = $form{'mailto'};
if ( $mailto == 0)
{
$mailto = 'aaa@aaa.com';
}
elsif ( $mailto == 1)
{
$mailto = 'bbb@bbb.com';
}
elsif ( $mailto == 2)
{
$mailto = 'ccc@ccc.com';
}
elsif ( $mailto == 3)
{
$mailto = 'ddd@ddd.com';
}
elsif ( $mailto == 4)
{
$mailto = 'eee@eee.com';
}
else
{
$mailto = 'fff@fff.com';
}
495行目は同じく
$body = "To: $mailto\n";
上記方法を試しましたが、やっぱりすべての宛先がaaa@aaa.comに送信されます。
何がまちがいで、どこをどのように正せば送信先を選択できるようになるのでしょうか?
今日の18時までにはなんとか作り上げたいと思ってますのでご教授よろしくお願いします!
PS:現在の知識としてHTMLしか言語はわかりません^^;
No.2ベストアンサー
- 回答日時:
テストする環境が無いので、結果はわからないのですが・・・
228行目の
$ret = &decode;
の後に
@addrList = ('aaa@aaa.com', 'bbb@bbb.com', 'ccc@ccc.com', 'ddd@ddd.com', 'eee@eee.com', 'fff@fff.com');
$mailto = $addrList[$in{'mailto'}];
を入れてみてはどうでしょうか。
No.1
- 回答日時:
多分ですが・・・
まず、cgiの中を、STDINかQUERY_STRINGで検索してください。
大抵のcgiは、この命令でhtmlからのパラメータを受け取っています。
すると、619行からの「フォームデコード」decodeと言うサブルーチンでパラメータを受け取っています。
で、ずっと見ていくと、670行からで、$in{}と言うハッシュに取り込んでいます。
で、decodeはどこから呼ばれているかを見てみると、228行目で呼ばれています。
更に、最初から107行目を通って228行目行目を見て行くと、ほとんど設定ばかり、
と言うことで、多分ですが、107行目では、まだフォームからのデータは確定していないと思います。
それに、$FORM{}と言うハッシュは、プログラム上、どこにも出てきていませんので、いつでも""です。
それと、確かperlでは、変数の大文字小文字を区別するので、$FORMと$form{}は別物だったような・・・
これで、2つの事がわかったと思いますが、場所と変数名がおかしい。
$in{mailto}で、decodeを呼び出した以降でなければ、そもそも・・・
詳しく見ていないので、後はお任せします。
間違っていたらすみません。
p.s.
フリーソフトの利用&改造はそのソフトの利用規定をお守りください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) ¥マークを含むパスの処理について(マクロ、または関数) 2 2022/12/25 02:11
- SQL Server ACCESSで3ファイルを結合して、表を作成するやり方を教えて下さい。 17 2022/08/15 20:34
- SQL Server ACCESSで複数テーブルを結合して、リストを作る方法を教えてください。 2 2022/08/12 19:32
- JavaScript JavascriptからSQLへ繋ぎ方が分からない 3 2022/07/07 00:27
- JavaScript 以前の質問だと、どの条件でも配列が表示されてしまいます。 1 2022/07/09 11:40
- SQL Server ACCESSで表が作りたく、そのためのSQL文や設定方法を教えてください。 1 2022/08/15 12:28
- JavaScript セレクトボックスで配列を呼び出したい。 1 2022/07/08 20:14
- JavaScript セレクトを全て選択されていないと、文字によるエラーメッセージを表示させるコードを調べています 2 2023/06/22 15:48
- その他(データベース) カラム上の重複を削除するクエリを教えてください 3 2022/04/12 14:11
- JavaScript セレクトボックスを2つ選択してメッセージなどを表示するには。~運賃検索プログラムを完成させたい~ 1 2022/07/22 11:10
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
入力フォームの値が消える
-
ビジネスメールの敬称
-
Googleフォームを回答したか確...
-
戻ると入力したフォームの内容...
-
テキストボックスの番号を使っ...
-
エクセルVBA テキストボックス...
-
初歩的な事だと思います。 Sub...
-
数字以外の入力をエラーにする...
-
Excel-VBAでInputBox+Pulldown...
-
ページ移動した場合の、フォー...
-
お問い合わせフォームから送信...
-
入力項目を残したいのですが・・・
-
アクセスのマクロ
-
フォームから入力した漢字が文...
-
階層式のプルダウンセレクトを...
-
入力フォームへ、データを自動...
-
アルファベットGの小文字の入力
-
送信フォームの確認ページ
-
TextBoxから数字が文字...
-
CGIで2台のコンピュータの通信方法
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
入力フォームの値が消える
-
ビルダー20 お問合せフォー...
-
メールフォームで必須項目の仕方
-
メールフォームで送信先アドレ...
-
ホームページビルダー18での...
-
複数のフォームを一括で送信す...
-
sendmail
-
メールフォームについて
-
フォームメールの送信先アドレ...
-
postmailの確認画面でプルダウ...
-
EZWEBでform送信すると携帯のお...
-
web初心者、会社hpに今日中にメ...
-
メールフォームの送信元の表示...
-
メールフォームで特定項目だけ...
-
携帯用ホームページでの送信フ...
-
cgiのカスタマイズが上手く行き...
-
プルダウンの項目によって送信...
-
アンケートフォームなどの送信...
-
フォームから2つのCGIへ送信す...
-
javascript フォームタグ 画面...
おすすめ情報