![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
「とほほのwww入門」さんのwwwmailというメールフォームcgiを使わせてもらっています。
このメールフォームに未入力のチェックをさせたいのですが、どうしてもうまくいきません。
例えば「名前」を入力必須項目にしたいので、未入力だった場合、エラーを表示させたいのです。
他のサイトなどを参考に、
#名前がないときの処理
if ($FORM{'NAME'} eq "") {
&err('名前が記入されていません。');
}
と入れてみたりしたのですが、Internal Server Error がでてしまいます。
また、現在配布されているものと違ったりするようです。
CGIに関してはあまり詳しくなく、本当に簡単な改造をしたことがある程度です。どなたかご存知の方がいらっしゃいましたらぜひ宜しくお願いいたします!
No.3ベストアンサー
- 回答日時:
ちは(^^)
僕もまだあまり詳しくないので基本的な感覚で$in{'NAME'}の答えを出したのですが(自分はいつもこれで使ってるので・・・)
『WwwMail Ver3.26 - メール送信フォーム』ですか?
僕も初めDLして表示しようとしたらサーバーエラーが出ました(><)
#!/usr/local/bin/perl
僕はアパッチを使ってるのでここの記述が違ってて
(まだ僕はHP公開はしてないのでデバック表示しかしてないので↓は使えないかもしれないですけど)
#! c:/perl/bin/perl
としたらwwwmail.cgiスクリプト内の『自己診断機能』というところが表示されました
mimew.pl
jcode.pl
BLATJ.EXE
が無い状態で表示しようとしたため(--;)
元の(何も手を加えていない)ほうは正常に機能するのでしょうか?
wwwmail.htmlは普通に表示されるでしょうからwwwmail.cgiのほう・・・
デフォルトで表示されないのなら行頭の部分が違うと思います
表示されて
『CGIは正常に動作しています。
~~~~ がありません。』
という風に表示されるのであれば・・・まぁフォルダそのまま使うのでしょうからplファイルはあるので『/usr/lib/sendmail がありません。』が表示されるかな?
↑が表示されてるなら『readme.html』を開いて『設置方法』の2か3を試してください
あと『&err』
つつかないのであれば『&errexit』でエラー表示画面になります
デフォルトは使えるというのであれば手を加えた方のどこかに記述ミスがあるのだと思います
ん~sendmail機能はまだ使う予定無いので動作確認はしてないですけど・・・
思いつくのはこれくらいかな?
デフォルトが使えるならJavascriptで未入力チェックをすることもできますよ(^^)↓
参考URL:http://javascript.eweb-design.com/1207_ma.html
leap_dayさんご回答ありがとうございます。
>あと『&err』
>つつかないのであれば『&errexit』でエラー表示画面になります
の部分で教えていただいた通り、「&err」を「&errexit」に直したら無事稼動しました!
私の基本的な知識が無いために気づくことができませんでした。
また、Javascriptでのチェックも参考になりました。
色々と調べて、丁寧に教えていただき本当に感謝しております。
これからもっと勉強していきたいと思います。
ありがとうございました!!
No.2
- 回答日時:
>#名前がないときの処理
>if ($FORM{'NAME'} eq "") {
>&err('名前が記入されていません。');
>}
>と入れてみたりしたのですが、
↓に修正してみてはどうでしょう。
#名前がないときの処理
if ($FORM{'NAME'} eq "") {
&errexit("名前が記入されていません。");
}
aikata39さん、ご回答ありがとうございます。
教えていただいた通り、
>#名前がないときの処理
>if ($FORM{'NAME'} eq "") {
>&errexit("名前が記入されていません。");
>}
の記述で無事稼動いたしました。
&errexitを&errと記述していたのが間違いであったようです。
お恥ずかしい限りです。
本当に、ありがとうございました。
No.1
- 回答日時:
フォーム内容を次のcgiページに送信してるのですよね?
んで未記入だったらエラーページを表示・・・でいいですか?
if($in{'name'} eq "") { $hit=1; last; }
if(!$hit) { &err("名前が入力されていません"); }
もしくは
if($in{'name'} eq "") { &err("名前が入力されていません"); }
で試してみてください
&err のところは
sub err {
}
でhtml表示できるように作ってますか?
leap_dayさん、さっそくのご解答ありがとうございます!!
教えていただいたように、
>if($in{'name'} eq "") { $hit=1; last; }
>if(!$hit) { &err("名前が入力されていません"); }
>
>もしくは
>
>if($in{'name'} eq "") { &err("名前が入力されていません"); }
を、
# EMAILが正常なメールあどれすかどうか判断する
#
if ($FORM{'EMAIL'} =~ /^[-_\.a-zA-Z0-9]+\@[-_\.a-zA-Z0-9]+$/) {
$mailfrom = $FORM{'EMAIL'};
}
の後に入れてみたのですが、やはりInternal Server Error がでてしまいました。
>&err のところは
>sub err {
>}
>でhtml表示できるように作ってますか?
ということですが、配布されているプログラムそのままで
エラーの時にhtml表示できるようになっていると思うのですが、
何か別に手を加えなくてはいけないですか?
何度も申し訳ありません。宜しくお願いしますm(_ _)m
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- JavaScript ラジオボタンによるフォームの開閉を行いたい 3 2022/03/31 21:30
- JavaScript 助けてください!スパムメールがとんでもなく大量に届きます。 3 2023/08/10 16:32
- その他(プログラミング・Web制作) 入力フォームへ、データを自動的に入力するプログラム。どうやって作る? 4 2023/01/16 10:24
- Access(アクセス) Accessで予定表を作成しようとしてます。 テーブル フィールド名 連番 オートナンバー型 年月日 2 2023/07/23 11:40
- JavaScript Javascriptが機能せず原因が分からないので教えて頂きたいです 3 2023/06/04 14:50
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- JavaScript javascriptで入力フォームが空欄の時にアラートによるエラーを出すコードを書いています。 2 2023/06/13 17:58
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
apacheで403を404のように見せる
-
エクセルで 自動的に◯や数字を...
-
[Excel] ある日の曜日が当月の"...
-
毎○曜日って、使いますか?
-
ファイルをディレクトリ分配の...
-
週2回のペースって だいたい何...
-
DBを10件毎に表示ページング...
-
raspberrypiから外部サーバーへ...
-
cgiとplとpm
-
毎週同じ曜日にラブホに行くと...
-
日本語問題 昨日は何曜日ですか...
-
クライアントのIPとマシン名を...
-
ブログのようなCGIを探して...
-
よくある 『 第○(1・2・3・4・...
-
Perlから他のcgiへPOSTでデータ...
-
月の第一週とは
-
WWWサーバーソフトを確認するには
-
一年の第何週目であるかを判断...
-
今週とは何曜日から何曜日まで...
-
ディレクトリパスの取得について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
apacheでPerl CGIが作動せず、5...
-
CGIの中で出力するテキスト内容...
-
apacheで403を404のように見せる
-
携帯サイトでバナーをランダム...
-
Googleアラリティクスの埋め込...
-
ローカルサーバーでの動作確認
-
未入力のチェックをするには?
-
MAMPでpythonを実行させたい
-
CGI(Peal)でURLデコード
-
SSI で #exec 以外で Perl-CGI ...
-
はじめまして、レンタルサーバ...
-
jQueryのpostからのリクエスト...
-
サクラのレンタルサーバーです...
-
月の第一週とは
-
6月の第2 第4火曜日は何日...
-
よくある 『 第○(1・2・3・4・...
-
DBを10件毎に表示ページング...
-
エクセルで毎月第2週日の水曜日...
-
[Excel] ある日の曜日が当月の"...
-
週2回のペースって だいたい何...
おすすめ情報