CGI-BBS > 基礎 > 改行コード > フォームメールで改行コードを入れたい


カレッヂ
カレッヂ


質問者 tomita  投稿日 1/19(日) 13:08:28
こんにちは はじめて投稿させていただきます。

フォームメールを使用させてもらっています。
メールで送られてくるデータの中で編集の都合で
項目名の後に改行を入れてデータを行の先頭にしたいのですが
やり方を教えてください。

可能なら指定の項目の時にできたらなおうれしいです。

よろしくお願いします。

冨田

プロバイダ参照:http://www.cube-web.net/
サーバのOS:UNIXサーバ
パソコンのOS:WinNT系
エディタ:Mifes 6
FTPソフト:ffftp
サーバ移転:していない
改造:していない
CGI習熟度:(未選択)

回答者 呑兵衛@大阪  [削除]  投稿日 1/22(水) 00:07:21
form2mail.cgi のこととして、
sub send_mix に
print OUT "$name = $value\n";
という行が2つあります。
項目で改行するなら print OUT "$name = \n$value\n"; です。
2つの内どちらかだと思うので適宜選択して下さい。
質問者 tomita  [削除]  投稿日 1/22(水) 11:42:46
呑兵衛@大阪 さんありがとうございます。

私の使っているのは webform.cgi なんですが、ご指摘の

> sub send_mix に
> print OUT "$name = $value\n";
> という行が2つあります。

が見つからないんですが・・・

sub sendmail {
の中に実際にメールに書かれている「ここから」から「ここまで」の部分がくさい
かなと思うのですが。

	&jis("--- ここから ---"); print OUT "$msg\n\n";

	$count = @DATA_N;
	foreach (0..$count-1) {

		if ($DATA_V[$_] =~ /\n/) { &jis("$DATA_N[$_] =\n\n$DATA_V[$_]\n"); print OUT "$msg\n"; }
		else { &jis("$DATA_N[$_] = $DATA_V[$_]"); print OUT "$msg\n"; }
	}

	&jis("--- ここまで ---"); print OUT "\n$msg\n\n";

この中に変更箇所がありますでしょうか?

よろしくお願いします。

冨田
回答者 呑兵衛@大阪  [削除]  投稿日 1/22(水) 18:15:53
ならば
else { &jis("$DATA_N[$_] = $DATA_V[$_]"); print OUT "$msg\n"; }
  ↓
else { &jis("$DATA_N[$_] =\n$DATA_V[$_]"); print OUT "$msg\n"; }
= がいらなければ
else { &jis("$DATA_N[$_]\n$DATA_V[$_]"); print OUT "$msg\n"; }
質問者 tomita  [削除]  投稿日 1/22(水) 19:43:18
呑兵衛@大阪 さんありがとうございました

無事動きました。

今後ともよろしくお願いします。

冨田

このページは終了したので返信(回答)は書きこめません
 


Web裏技