- ベストアンサー
送信完了が出力されない
変数のセットなど細かい内容は省かせていただきます。 if ($ENV{'REQUEST_METHOD'} eq "POST") { #メールアドレスチェック --------------------------------- if (!$CGI{'mail'}) { &error("メールアドレスを記入してください"); } if ($CGI{'mail'} =~ /\,/) { &error("メールアドレスにカンマ「\,」が含まれています"); } if (($CGI{'mail'}) && $CGI{'mail'} !~ /.+\@.+\..+/) { &error("メールアドレスの書式が不正です"); } &writelog; print "送信完了しました。\n"; } と書いたのですが、errorについてはそれぞれ出力されますが、 完了画面が出ません。 間違いはどこか指摘願います。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
print "Content-Type: text/html\n\n"; print "送信完了しました。\n"; のように、書き加えてみてください。
その他の回答 (2)
- szkatnr
- ベストアンサー率75% (3/4)
writelog 内に問題があるのでは? 完了画面が出ないっていうのは、 具体的にはどうなるのでしょうか? Script Error ですか?
お礼
全体を見直し&修正をして、自力で解決できました。 説明不足の質問だったにも関わらず、 回答頂きありがとうございました。
補足
writelogを確認してみます。 完了画面が出ないというのは、 print "送信完了しました。\n"; が実行されていないということです。
- jjon-com
- ベストアンサー率61% (1599/2592)
CGIプログラムにおいて表示トラブルがあるというのであれば,printを実行している箇所にはいずれも原因の可能性が含まれているので,その提示を省かれては的確な回答はできないと思います。
お礼
全体を見直し&加えていき、自力で解決に至りました。 ちなみに、CGIは正確にはプログラムではないですよ。
補足
回答ありがとうございます。 ごめんなさい。 本当にここだけが問題だと思っていたので。。。 print "Content-type: text/html\n"; print "\n"; print "<html>\n"; print "<head>\n"; print "<title>携帯にクーポンを送る</title>\n"; print "</head>\n"; print "<body>\n"; print "<hr>\n"; if ($ENV{'REQUEST_METHOD'} eq "POST") { #メールアドレスチェック --------------------------------- if (!$CGI{'mail'}) { &error("メールアドレスを記入してください"); } if ($CGI{'mail'} =~ /\,/) { &error("メールアドレスにカンマ「\,」が含まれています"); } if (($CGI{'mail'}) && $CGI{'mail'} !~ /.+\@.+\..+/) { &error("メールアドレスの書式が不正です"); } &writelog; print "送信完了しました。\n"; } print "<hr>\n"; print "</body></html>\n"; 前後部分を載せました。 宜しくお願いします。
お礼
説明不足にも関わらず丁寧な回答ありがとうございました。 結局自力で解決できました。
補足
回答ありがとうございます。 ダメでした。。。