記事No | : 70 |
投稿日 | : 2007/04/03(Tue) 14:50:01 |
タイトル | : postmailにおける半角カタカナのエラーチェックについて |
ID情報 | : deconeco |
投稿者 | : でこねこ |
URL | : http://x03.2000710.net/test/sr-sep/contact/inquiry.html |
はじめまして。postmailを使わせていただいています。
今回お伺いしたいのは半角カタカナのエラーチェック時におきる問題についてです。
どうしても半角カナエラーチェックが必要になり、cgiにおいて以下のように指定いたしました。
# 禁止ワード
# → 投稿時禁止するワードをコンマで区切る
$no_wd = 'ア,イ,ウ,エ,オ,カ,キ,ク,ケ,コ,サ,シ,ス,セ,ソ,タ,チ,ツ,テ,ト,ナ,ニ,ヌ,ネ,ノ,ハ,ヒ,フ,ヘ,ホ,マ,ミ,ム,メ,モ,ヤ,ユ,ヨ,ワ,ヲ,ン';
ちなみにテンプレートは
# 確認画面テンプレート【サーバパス】
$tmp_conf = './tmpl/conf.html';
# 一般エラー画面テンプレート【サーバパス】
$tmp_err1 = './tmpl/err1.html';(←半角カナエラーチェック用)
# 入力エラー画面テンプレート【サーバパス】
$tmp_err2 = './tmpl/err2.html';(←必須項目未入力エラー用)
# 送信後画面テンプレート【サーバパス】
$tmp_thx = './tmpl/thx.html';
# 送信「本文」テンプレート【サーバパス】
$tmp_body = './tmpl/body.txt';
としています。
そこで以下のような問題がおこりました。
1.
------------------
半角カナで入力⇒「送信内容を確認」⇒
半角カナのエラーを出した後に「前画面に戻る」⇒
半角カナを直す⇒必須入力項目未入力⇒「送信内容を確認」
とすると、エラー表示が半角カナエラー画面になってしまう
2.
------------------
必須項目を入力し、半角カナを記入していない状態にも関わらず、半角カナエラー画面が表示される
ちなみに、半角カナを設定する以前はerr1.htmlは利用しておらず、動作そのものは問題ありませんでした。
公開前のサイトのため、あまり情報をお出しできず申し訳ありませんが、何卒お力いただきたくよろしくお願いいたします。
記事No | : 72 |
投稿日 | : 2007/04/03(Tue) 15:40:25 |
タイトル | : Re: postmailにおける半角カタカナのエラーチェックについて |
ID情報 | : tems |
投稿者 | : BAL |
URL | : http://f43.aaa.livedoor.jp/~sumure/ |
> はじめまして。postmailを使わせていただいています。
> 今回お伺いしたいのは半角カタカナのエラーチェック時におきる問題についてです。
> どうしても半角カナエラーチェックが必要になり、cgiにおいて以下のように指定いたしました。
>
> # 禁止ワード
> # → 投稿時禁止するワードをコンマで区切る
> $no_wd = 'ア,イ,ウ,エ,オ,カ,キ,ク,ケ,コ,サ,シ,ス,セ,ソ,タ,チ,ツ,テ,ト,ナ,ニ,ヌ,ネ,ノ,ハ,ヒ,フ,ヘ,ホ,マ,ミ,ム,メ,モ,ヤ,ユ,ヨ,ワ,ヲ,ン';
>
> ちなみにテンプレートは
>
>
> # 確認画面テンプレート【サーバパス】
> $tmp_conf = './tmpl/conf.html';
>
> # 一般エラー画面テンプレート【サーバパス】
> $tmp_err1 = './tmpl/err1.html';(←半角カナエラーチェック用)
>
> # 入力エラー画面テンプレート【サーバパス】
> $tmp_err2 = './tmpl/err2.html';(←必須項目未入力エラー用)
>
> # 送信後画面テンプレート【サーバパス】
> $tmp_thx = './tmpl/thx.html';
>
> # 送信「本文」テンプレート【サーバパス】
> $tmp_body = './tmpl/body.txt';
>
> としています。
> そこで以下のような問題がおこりました。
>
> 1.
> ------------------
> 半角カナで入力⇒「送信内容を確認」⇒
> 半角カナのエラーを出した後に「前画面に戻る」⇒
> 半角カナを直す⇒必須入力項目未入力⇒「送信内容を確認」
> とすると、エラー表示が半角カナエラー画面になってしまう
>
> 2.
> ------------------
> 必須項目を入力し、半角カナを記入していない状態にも関わらず、半角カナエラー画面が表示される
>
> ちなみに、半角カナを設定する以前はerr1.htmlは利用しておらず、動作そのものは問題ありませんでした。
>
> 公開前のサイトのため、あまり情報をお出しできず申し訳ありませんが、何卒お力いただきたくよろしくお願いいたします。
正規表現を使って制限されてはどうでしょう。
postmail.cgi
#-------------------------------------------------
# ▲設定完了
#-------------------------------------------------
# フォームデコード
$ret = &decode;
# 基本処理
if (!$ret) { &error("不明な処理です"); }
elsif ($in{'mode'} eq "check") { ✓ }
# POSTチェック
if ($postonly && !$postflag) { &error("不正なアクセスです"); }
if ($in{'メッセージ'} =~ /[。-゚]/) { &error("半角カタカナは禁止です"); } ## ←追加
記事No | : 73 |
投稿日 | : 2007/04/03(Tue) 15:53:25 |
タイトル | : Re^2: postmailにおける半角カタカナのエラーチェックについて |
ID情報 | : deconeco |
投稿者 | : でこねこ |
URL | : http://x03.2000710.net/test/sr-sep/contact/inquiry.html |
BAL様
早速のレスありがとうございました。
教えていただいた記述でやってみます。
またご報告いたします。
> 正規表現を使って制限されてはどうでしょう。
>
> postmail.cgi
> #-------------------------------------------------
> # ▲設定完了
> #-------------------------------------------------
>
> # フォームデコード
> $ret = &decode;
>
> # 基本処理
> if (!$ret) { &error("不明な処理です"); }
> elsif ($in{'mode'} eq "check") { ✓ }
>
> # POSTチェック
> if ($postonly && !$postflag) { &error("不正なアクセスです"); }
> if ($in{'メッセージ'} =~ /[。-゚]/) { &error("半角カタカナは禁止です"); } ## ←追加
記事No | : 105 |
投稿日 | : 2007/04/05(Thu) 13:50:45 |
タイトル | : Re^2: postmailにおける半角カタカナのエラーチェ |
ID情報 | : deconeco |
投稿者 | : でこねこ |
URL | : http://x03.2000710.net/test/sr-sep/contact/shiryoform.html |
BALさんありがとうございます。
何とか解決できました。
しかし新たな問題が…
別スレッドを立てましたので、もしお時間がありましたらご教示いただけると幸いです。
よろしくお願いいたします。