CGI-BBS > 情報収集 > フォームメール > フォームメールの改造でメールアドレスを送信者名に変更したい。


カレッヂ
カレッヂ


質問者 あき  投稿日 2004/6/5(土) 11:11:55
フォームメールで、送信後に『(メールアドレス)宛に送信されました。
ご応募ありがとうございます』
と出ますが、それをメールアドレスではなくメールフォーム(HTML)で名前の部分に書かれた名前で、送って下さった人の名前に変えるにはどうしたらいいでしょうか?
『●●(送信者の名前)様のメールは受け付けました』と出来たらいいのですが…。
どうしても出来なかったのでもし良かったら教えて頂けませんでしょうか?
よろしくお願い致します。

プロバイダ参照:
サーバのOS:WINサーバ
パソコンのOS:WinNT系
エディタ:terapad
FTPソフト:FFFTP
サーバ移転:していない
改造:している 改造前正常動作
CGI習熟度:middle

回答者 papa  [削除]  投稿日 2004/6/5(土) 19:23:58
WebFORM v4.0でよろしいんでしょうか?

それなら、
sub sendmail {
の
	close(OUT);

の次が問題の表示箇所になりますので、その中にある
$mailto
を
$email
に書き換えれば、記入されたメールアドレスが表示されます。

ただ、
<a href=\"mailto:$mailto\">$mailto</a>
となっていますので、
単に
$email
とされた方が良いでしょう。

また、メッセージ内容も同じ範囲にありますので、
ご自分の好きなように変更できます。
質問者 あき  [削除]  投稿日 2004/6/6(日) 15:55:32
papa様、初めまして。
教えて頂きましてありがとうございました。
papa様の通りやってみました所出来ましたが、メールアドレスではなく申し込み者の
名前を最後に入れたいのです。
『xxxx@xxx.com様のメールは受け付けました』
ではなく、
例えば申し込みフォームから「あき」と言う方が申し込んだら
最後に
『あき様のメールは受け付けました』
と名前の部分だけ変更出来るようにしたいと思ってます。
それは出来ませんでしょうか?
分かりづらい質問でスミマセン。
よろしくお願い致します。
回答者 papa  [削除]  投稿日 2004/6/6(日) 17:45:01
あきさん、スミマセン。お名前だったのですね。

webform.cgiの

#デコード 部分に

	elsif ($name eq "subject" && $value ne "") { $subject = $value; }

というのがありますので、その次に以下を追加します。

	elsif ($name eq "num_n" && $value ne "") { $num_n = $value; }

次に、#内容確認画面出力の下の方に

print "<input type=\"hidden\" name=\"no_check\" value=\"on\">\n";

というのがありますので、その次に以下を追加します。

print "<input type=\"hidden\" name=\"num_n\" value=\"$num_n\">\n";

これで、$num_n にお名前がセットされます。

次に、

        close(OUT);

以下の $mailto を $num_n と入れ替えます。
勿論、リンクは外しておいてください。
確認はしていませんが、多分、大丈夫だと思います。
質問者 あき  [削除]  投稿日 2004/6/6(日) 18:54:30
再び教えて頂いてありがとうございます。
papa様のご指示の元、やってみましたが、結果、出来ませんでした。
やっぱ無理なのでしょうか?
フォーム(html)のソース自体にも手を加えた方がいいのでしょうか?
名前の所には、
<input type="text" name="名前">
と打ち込んでます。

何度も聞いてスミマセン。
よろしくお願い致します。

返信(回答)する

 


Web裏技