
すみません、CGIの初心者なのですが、下記のプログラムをしたところうまく起動せず困っております。ifの構文を抜いた場合はうまく動くのですが、名前欄等を入力されなかった場合、エラー表示を出したく、if文を追加したのですが、うまく動きません。どなたか原因おわかりになりますでしょうか?
#!C:\Perl\bin\perl
# ライブラリ
require 'cgi-lib.pl';
# デコードサブルーチン
&ReadParse(*form);
# ライブラリ
require 'kaiin_sub.pl';
#名前欄、メールアドレス欄、住所欄、郵便番号欄がのチェック
if($form{'name'} eq""||$form{'mail'} eq""||$form{'post'} eq""||$form{'jyusyo'} eq""){
#必要事項が空白のとき
#エラーコードを表示するサブルーチン
&input_error;
#cgiプログラムの終了
exit;
}else{
# ライブラリ
require 'jcode.pl';
# 文字コード変換サブルーチン
&jcode'convert(*form,'sjis');
# 連想配列から値だけを取り出し、区切りのハイフンを追加
$data = "$form{'name'}\n$form{'furigana'}\n$form{'mail'}\n$form{'post'}\n$form{'jyusyo'}\n$form{'jyusyo1'}
\n$form{'kansou'}\n\n----------\n\n";
# 追加書き込みモード
open(ENQ, ">>enquete.dat") || die "File 'enquete.dat' Open Error.";
flock(ENQ, 2);
print ENQ $data;
flock(ENQ, 8);
close(ENQ);
# -----ここから出力 -----
print "Content-type:text/html\n\n";
print << "END_OF_HTML";
<HTML>
<HEAD>
<TITLE>(^_^)</TITLE>
</HEAD>
<BODY bgcolor="cornflowerblue">
<CENTER>
<B><FONT size="6">
<FONT color="white">
<BR>
会員登録は完了致しました。
<P>
ご協力ありがとうございました。</FONT>
<P>
<FONT color="white">(^O^)/~</FONT>
</B>
</CENTER>
</BODY>
</HTML>
END_OF_HTML
}
またkaiin_sub.pは以下となります。
# -- 入力不足エラーを表示するサブルーチン --
sub input_error {
print "Content-type:text/html\n\n";
print << "END_OF_ERROR";
<HTML>
<HEAD>
<TITLE>エラー</TITLE>
</HEAD>
<BODY>
<CENTER>
<FONT size="6" color="red"><B>
<BR>
お名前欄、メールアドレス、郵便番号、住所のいずれかが空白です
<P>
もう一度入力して下さい。
</B></FONT>
</CENTER>
</BODY>
</HTML>
END_OF_ERROR
}
宜しくお願い致します。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
ちょっと試してみました。
すると次のエラーが出ました。
kaiin_sub.pl did not return a true value at test.pl line 10.
もしスクリプトがこの通りならば、kaiin_sub.pl の最後に次の1行を加えて下さい。
1;
私の所ではこれでinput_errorが表示されました。
require で別ファイルを読み込むときは、最後に真を返すことになっています。
No.1
- 回答日時:
試す気はないので質問するだけだけど, 「うまく動きません。
」というのは何がどう「うまく動かない」のですか? 少なくとも「どうなったら『うまく動いた』と言えるのか」はあなたにしかわからないですよ.あと, いまどき jcode.pl を使うのもどうかと思う.
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- CGI htmlからパラメータで、cgiに渡したい。 1 2023/02/06 16:15
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- PHP PHPでCookieを使った訪問回数について 1 2023/05/28 14:10
- PHP PHPのエラーの解消法について教えて下さい。 1 2023/02/06 10:48
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- PHP PHP MySql 画像を取得 1 2022/06/04 14:05
- PHP if(preg_match("/[^0-9]/",$gu_d)){意味を教えてください。 1 2022/05/06 05:37
- HTML・CSS 私の能力からして間違っていないような気がします。 4 2022/09/30 13:24
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
保存されたレコードの一部のみ...
-
perl cgiの変数の受け渡しがで...
-
CGIプログラムの最後に?がつい...
-
フォームに入力した情報をその...
-
データを読み込んだ時・・・・
-
アンケートフォーム複数ページ...
-
VBAでIEを操作submit処理について
-
SUN BBSの改造方法
-
wordの数式について 定積分を書...
-
掲示板(kentさんの所のsunbbs...
-
サイトの階層について
-
Perlでメール送信機能
-
データ削除方法について
-
ダブルクオテーションは使うべ...
-
perlで索引スタイルありますか。
-
二つのプルダウンメニューから...
-
ネットで買い物をしていてわか...
-
パスワード認証
-
Googleサイト内検索窓設置について
-
ひらがなチェック
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
(Perl)ReadParseによるハッシ...
-
確認ページが表示できない
-
別サーバーのcgiへバイナリデー...
-
質問ページ(CGI)に行く時にフ...
-
htmlのフォームからcgiにデータ...
-
フォーム入力後の確認画面表示...
-
携帯電話のセッション管理
-
さくらインターネットのCGI...
-
WEB上のボタンをクリックしてサ...
-
perl cgiの変数の受け渡しがで...
-
ファイル名でなく、ファイルの...
-
異なるformで同一のnameは使用...
-
cgi-libを使って変数値渡しをし...
-
htmlからcgiに変数を配列にして...
-
HDMLでCGIを使おうと思うのです...
-
perlで自動ログインをしたいが...
-
チャットでの、自動カーソル入力
-
if構文を追加するとうまくうま...
-
リンクからのPOST送信について
-
VBで表示したホームページの...
おすすめ情報