人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

cgiのメールフォームについて質問です。
「WwwMail」というフリーのcgiを使用しています。
http://www.tohoho-web.com/soft/wmail.htm

途中までカスタマイズできたのですが、
どうしても解決できないことがあります。
送信ボタンを押した後の画面の一番下に、
送信結果が表示されてしまうのですが、
これを表示しない方法を探しています。

cgiの中に下記の記述があるのですが、
これを削除すると動作しなくなってしまいました。

#
# ブラウザ画面に送信結果を書き出す
#
{
&jcode'convert(*header, "sjis");
&jcode'convert(*footer, "sjis");

$mail = $mailhead . $mailbody;
&jcode'convert(*mail, "euc");
$mail =~ s/&/&/g;
$mail =~ s/"/"/g;
$mail =~ s/</&lt;/g;
$mail =~ s/>/&gt;/g;
$mail =~ s/?n/<BR>/g;
&jcode'convert(*mail, "sjis");

print "Content-type: text/html?n";
print "?n";
print "$header?n";
print "$mail?n";
print "$footer?n";
}

どうか力を貸してください!!

●質問者: helpme1111
●カテゴリ:ウェブ制作
✍キーワード:AMP CGI EUC GT HTML
○ 状態 :終了
└ 回答数 : 3/4件

▽最新の回答へ

1 ● koriki-kozou
●60ポイント ベストアンサー

>動作しなくなってしまいました

動作しなくなったのではなく「成功時に返ってくるはずの文章がまるごと消されてしまっている」ので何の応答も無いように見えるだけなのでは?


下記に置き換えてみて

# ブラウザ画面に送信結果を書き出す
#
{
print "Content-type: text/html\n";
print "\n";
print "$header\n";
print "$footer\n";
}

(最初の二行はperlからブラウザに出力する際の先頭に必ず記述するもの。本体はその続きに書く)

http://www.tohoho-web.com/soft/wmail.htm

◎質問者からの返答

こんばんわ。先日はありがとうございました。

置き換えてみたのですが、やはり、500 errorになってしまいました。。。


2 ● niwa-mikiho
●10ポイント

エラーになってしまっているのは、


print "Content-type: text/html?n";

print "?n";

print "$header?n";

print "$mail?n";

print "$footer?n";


の部分をそっくり消してしまい、content-type を出力してないことが原因かと思われますので、

上記の部分を


print "Content-type: text/plain?n";

print "?n";

print "送信完了しました。?n";


のようにすることでよいかと思います。

HTML による送信完了画面にしたいのであれば、


print "Content-type: text/html?n";

print "?n";

print "<html><head><title>送信完了</title></head><body>\n";

print "送信完了しました。
?n";

print "</body></html>\n";


でよいかと思います。



http://1

◎質問者からの返答

回答ありがとうございます。

うーん、やっぱりダメでした。

今度は文字化けしたページがでてきました。

質問の意図がうまく伝えられてないのかもしれません。

送信結果(送信内容)を完了画面の中に表示したくないのです。

うまく説明できなくて、すみません。


3 ● hanako393
●10ポイント

必要ないと思ってる部分以外にも削除してる可能性があります。

>print "$header?n";

>print "$mail?n";

>print "$footer?n"

この3行だけ削除して、そのほかはそのままにしてください。

http://q.hatena.ne.jp/answer

◎質問者からの返答

回答ありがとうございます。

3行削除すると画面が真っ白になりましたが、

>print "$mail?n";

↑これだけ削除したら、思い通りに動作してくれました。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ