記事No | : 2457 |
投稿日 | : 2007/12/26(Wed) 18:06:48 |
タイトル | : postmail 4.2で非表示にするには? |
ID情報 | : aoimina |
投稿者 | : ぷちたまご |
URL | : http://www |
お世話になります。
postmail 4.2を使わせていただこうと設定作業を進めているところです。
こんな風に出来たらいいなぁでいろいろ過去ログを見させていただいて、ある程度は出来たのですが、未入力の場合表示しない方法だけがどうして良いのかが分かりません。
postmail v3.41で非表示をするには?
http://www.kent-web.com/support/old/67/0338.html
の質問を見ながら記載されているものをコピペで貼り付けてみたのですが、自分側と相手側に同じ内容のものを届く設定にしているせいか、相手には全く届かずに、自分側に2通届いてしまい、なおかつ時間等は表示されるけれど、メッセージが空白という状態です。
で、慌てて元に戻して、どうしたものかと思っているところです。
今現在のソースです。
http://www.atr-robo.com/mail/test.txt
私はCGIの知識は全くないので、無謀なのは重々承知の上ですが、どなたかアドバイスをいただけませんでしょうか?
どうぞよろしくお願いします。
記事No | : 2459 |
投稿日 | : 2007/12/26(Wed) 23:50:57 |
タイトル | : Re: postmail 4.2で非表示にするには? |
ID情報 | : fuyuki |
投稿者 | : BAL |
URL | : http://f43.aaa.livedoor.jp/~sumure/ |
> お世話になります。
>
> postmail 4.2を使わせていただこうと設定作業を進めているところです。
> こんな風に出来たらいいなぁでいろいろ過去ログを見させていただいて、ある程度は出来たのですが、未入力の場合表示しない方法だけがどうして良いのかが分かりません。
>
> postmail v3.41で非表示をするには?
> http://www.kent-web.com/support/old/67/0338.html
> の質問を見ながら記載されているものをコピペで貼り付けてみたのですが、自分側と相手側に同じ内容のものを届く設定にしているせいか、相手には全く届かずに、自分側に2通届いてしまい、なおかつ時間等は表示されるけれど、メッセージが空白という状態です。
>
> で、慌てて元に戻して、どうしたものかと思っているところです。
>
> 今現在のソースです。
> http://www.atr-robo.com/mail/test.txt
>
> 私はCGIの知識は全くないので、無謀なのは重々承知の上ですが、どなたかアドバイスをいただけませんでしょうか?
> どうぞよろしくお願いします。
以下の修正を。
$in{$key} =~ s/\0/ /g;
$in{$key} =~ s/\r\n/<br>/g;
$in{$key} =~ s/\r/<br>/g;
$in{$key} =~ s/\n/<br>/g;
if ($in{$key} =~ /<br>$/) {
while ($in{$key} =~ /<br>$/) {
$in{$key} =~ s/<br>$//g;
}
}
#$tmp = $cell; ## ←コメントアウト
$tmp = $in{$key} ? $cell : ''; ## ←追加
$tmp =~ s/\$left/$key/;
$tmp =~ s/\$right/$in{$key}/;
print "$tmp\n";
$hidden .= "<input type=\"hidden\" name=\"$key\" value=\"$in{$key}\" />\n" if($in{$key}); ## ←修正
$bef = $key;
記事No | : 2461 |
投稿日 | : 2007/12/27(Thu) 00:06:28 |
タイトル | : Re: postmail 4.2で非表示にするには? |
ID情報 | : para |
投稿者 | : Y50 庄助 |
URL | : http://www5e.biglobe.ne.jp/~begain/ |
> お世話になります。
>
> postmail 4.2を使わせていただこうと設定作業を進めているところです。
> こんな風に出来たらいいなぁでいろいろ過去ログを見させていただいて、ある程度は出来たのですが、未入力の場合表示しない方法だけがどうして良いのかが分かりません。
>
> postmail v3.41で非表示をするには?
> http://www.kent-web.com/support/old/67/0338.html
> の質問を見ながら記載されているものをコピペで貼り付けてみたのですが、自分側と相手側に同じ内容のものを届く設定にしているせいか、相手には全く届かずに、自分側に2通届いてしまい、なおかつ時間等は表示されるけれど、メッセージが空白という状態です。
>
> で、慌てて元に戻して、どうしたものかと思っているところです。
>
> 今現在のソースです。
> http://www.atr-robo.com/mail/test.txt
>
> 私はCGIの知識は全くないので、無謀なのは重々承知の上ですが、どなたかアドバイスをいただけませんでしょうか?
> どうぞよろしくお願いします。
http://www.atr-robo.com/mail/mail.html
postmail v4.2で未入力の非表示方です。
postmail.cgi 573行目
my $tmp = $cell;
$tmp =~ s/\$left/$key/;
my $f = 0;
foreach $err (@err) {
if ($err eq $key) { $f++; last; }
}
if ($f) {
$tmp =~ s|\$right|<span style="color:$alm_col">$keyは入力必須です</span>|;
} elsif (defined($err{$key})) {
$tmp =~ s|\$right|<span style="color:$alm_col">$keyの入力内容が大きすぎます</span>|;
} else {
$in{$key} =~ s/\r\n/<br>/g;
$in{$key} =~ s/\r/<br>/g;
$in{$key} =~ s/\n/<br>/g;
$in{$key} =~ s/\0/ /g;
$tmp =~ s/\$right/$in{$key}/;
}
を
my $tmp = $cell;
my $f = 0;
foreach $err (@err) {
if ($err eq $key) { $f++; last; }
}
if ($f) {
$tmp =~ s/\$left/$key/;
$tmp =~ s|\$right|<span style="color:$alm_col">$keyは入力必須です</span>|;
} elsif (defined($err{$key})) {
$tmp =~ s/\$left/$key/;
$tmp =~ s|\$right|<span style="color:$alm_col">$keyの入力内容が大きすぎます</span>|;
} else {
if ($in{$key}) {
$tmp =~ s/\$left/$key/;
$in{$key} =~ s/\r\n/<br>/g;
$in{$key} =~ s/\r/<br>/g;
$in{$key} =~ s/\n/<br>/g;
$in{$key} =~ s/\0/ /g;
$tmp =~ s/\$right/$in{$key}/;
} else {next;}
}
345行目
if ($key eq "need" || $key eq "match" || ($in{'match'} && $key eq $match2)) {
を
if ($key eq "need" || $key eq "match" || ($in{'match'} && $key eq $match2) || $in{$key} eq'') {
として下さい。
エラー画面なども非表示になると思います。
記事No | : 2474 |
投稿日 | : 2007/12/27(Thu) 18:09:09 |
タイトル | : 出来ました! |
ID情報 | : aoimina |
投稿者 | : ぷちたまご |
URL | : http://www |
BAL 様 Y50庄助 様
アドバイスありがとうございました。
無事出来ました。
大変助かりました。
今現在、スタイルシートを勉強中なので、それがある程度出来る様になれば、次はCGIの勉強にTRYしてみたいです。
年末のお忙しい中なのに、親切に教えてくださり本当にありがとうございました。
KENT様を始め、支援の方々も良い年末をお過ごし下さいませ。
改めて本当にありがとうございました。