![]() |
カレッヂ |
質問者 極超初心者
投稿日 2/19(水) 17:12:49
いつもお世話になっている極超初心者です。 またまた超初心者的な質問です。 WEBの入力フォームからメールアドレスを入力したデータにて、@マークがない場合エラー画面を表示させたいと思います。 以下のように組んでみましたが、サーバーエラーを起してしまいます。 if( !( $personal{'email'} =~ /\@/ ) ) { error_madd(); exit; } if文の!を削除すると、サーバーエラーを起しませんが、この部分が作動せず、メールアドレスに@マークがなくてもエラー画面が表示されません。 これはどこが悪いのでしょうか? 毎度毎度で大変申し訳ございませんが、教えていただけないでしょうか? 宜しくお願い致します。
プロバイダ参照: |
回答者 しあわせのツボ
[削除]
投稿日 2/19(水) 20:25:55
if($personal{'email'} !~ /\@/) もしくは unless($personal{'email'} =~ /\@/) にするとどうでしょう。 |
質問者 極超初心者
[削除]
投稿日 2/20(木) 09:39:56
しあわせのツボさん、毎度毎度ありがとうございます。深く感謝です。 早速unless($personal{'email'} =~ /\@/)にして、実行してみました。 するとおかげさまで、@マークが入った状態では、サーバーエラーを起さずに確認画面に行くようになりました。 しかし、@マークが入っていない場合では、相変わらずサーバーエラーを起してしまいます。 @マークが入っていない状態では、エラー表示画面error_madd(HTMLで記入)を表示したいのですが、どうすればよろしいでしょうか? 質問ばかりで大変申し訳ございませんが、ご回答いただけませんか? 宜しくお願い致します。 |
回答者 しあわせのツボ
[削除]
投稿日 2/20(木) 13:56:10
条件分岐なしでerror_maddを呼び、正しく動作するかを見てください。 これでエラーが出るようなら、error_madd側の問題です。 |
質問者 極超初心者
[削除]
投稿日 2/20(木) 16:19:44
しあわせのツボさん。いつもいつも、早々にご回答いただき、誠にありがとうございます。深く感謝します。 アドバイスいただいた通り、err_maddを再度チェックしました。 すると、print "Content-type: text/html\n\n";が抜けておりました。 追加したところ、正常に表示しました。 基本的な部分の間違いで、全くもってお恥ずかしい限りです。お騒がせして失礼致しました。 今後も迷惑な質問をするかもしれません。 大変申し訳ございませんが、宜しくお願い致します。 |
このページは終了したので返信(回答)は書きこめません
Web裏技 |