CGI-BBS > 情報収集 > フォームメール > フォームメールの改造で項目選択で送信先をを変更したい。


カレッヂ
カレッヂ


質問者 小林  投稿日 2007/7/28(土) 14:51:50
小林と申します。

送信先アドレスをラジオボタンの項目によって変更したい。 
を参考させていただきました。


http://www.rescue.ne.jp/CGI-BBS/an/formmail/20060320220320.shtml

ラジオボタンのどれを選んでも
「回答が正しくありません」 と 表示されてしまいます。

何がどう、悪いのが よくわかりません。


ホームページは
  <INPUT type="radio" name="for_select" value="A" checked>インテリア<BR>
  <INPUT type="radio" name="for_select" value="B">IT関連<BR>
  <INPUT type="radio" name="for_select" value="C">パートナー募集<BR>
  <INPUT type="radio" name="for_select" value="D">メディア関連<BR>
  <INPUT type="radio" name="for_select" value="E">その他</FONT></TD>


cgi

#■受け取るメールアドレス
#$mailto = 'XXXX@mail.jp';

my($for_select);

if($FORM{'for_select'} eq "A"){
$mailto ='111@mail.goo.ne.jp';
}elsif($FORM{'for_select'} eq "B"){
$mailto ='xxxx@yahoo.ne.jp';
}elsif($FORM{'for_select'} eq "C"){
$mailto ='ccc@docomo.ne.jp';
}elsif($FORM{'for_select'} eq "D"){
$mailto ='aa@docomo.ne.jp';
}elsif($FORM{'for_select'} eq "E"){
$mailto ='aa@docomo.ne.jp';
}else
{ &error("回答が正しくありません");}


ご教授お願いいたします。

【プロバイダ】http://www.lifemode.net
【習熟度】多少の設置経験

回答者 アン  [削除]  投稿日 2007/7/29(日) 10:26:25
これだけでは状況が良く分からないんですが、A〜E以外のデータが$FORM{'for_select'}
に入ってる筈ですので&errorで$FORM{'for_select'}を表示させたらヒントが見つかる
かも知れないです
質問者 小林  [削除]  投稿日 2007/7/29(日) 13:54:10
アンさん、
ありがとうございます。

下記のように一行を追加しました。
回答が正しくありません の下には何も表示されていませんでした
ということは Formの情報がうまくわたっていないと思われます。

どうしてHTMLの情報が送信されないのか?理解できません。


{ &error("回答が正しくありません");
print $FORM{'for_select'}
}


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

回答者 アン  [削除]  投稿日 2007/7/30(月) 10:41:45
<form action="form2mail.cgi" method="POST">
のようにmethod="POST"やMETHOD=POSTは入ってますか?
あとは間違って全角が入ってる(特にスペースは分かりにくい)とかはどうでしょう
質問者 小林  [削除]  投稿日 2007/7/30(月) 13:59:15
アンさんありがとうございます。

念の為に全角スペースを半角スペースに全て変更しました。


通常の
#■受け取るメールアドレス
$mailto = 'aaa@bbb.jp';


ならプログラム上正常に処理されます。
この場会は指定した送信先ですが。


下記のように送信先を選択形式にすると回答がありませんとどれを選んでも表示されてしまいます。



#■受け取るメールアドレス
#$mailto = 'aaa@bbb.jp';

my($for_select);

if($FORM{'for_select'} eq "A"){
$mailto = '111@mail.goo.ne.jp';
}elsif($FORM{'for_select'} eq "B"){
$mailto = 'xxxx@yahoo.ne.jp';
}elsif($FORM{'for_select'} eq "C"){
$mailto = 'ccc@docomo.ne.jp';
}elsif($FORM{'for_select'} eq "D"){
$mailto = 'aa@docomo.ne.jp';
}elsif($FORM{'for_select'} eq "E"){
$mailto = 'aa@docomo.ne.jp';
}else

{ &error("回答が正しくありません");
}


フォームメールはURLは
http://www.lifemode.jp/ocp/t-mail.shtml

です。

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

返信(回答)する

 


Web裏技