![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
現在アンケート収集のため、アンケートフォームの作成を行っています。
試行錯誤しているのですがどうしてもinternal server errorとなってしまうためご質問させてください。
下記がhtml、plの記述です。
----------------------------------------------------------------------------------------
[HTML]
<form action="check.pl" method="post">
<table>
<tr>
<td>■実施日</td>
</tr>
<td><input type="text" name="date" value="" /></td>
</tr>
<tr>
<td><input type="submit" value="送信確認" /></td>
</tr>
</table>
</form>
----------------------------------------------------------------------------------------
[Perl]
#!/usr/bin/perl/
use CGI;
$cgi = new CGI();
$date = $cgi->param('date');
$cgi->charset('Shift-JIS');
$date = $cgi->escapeHTML('$date');
use Date::Simple;
if($date eq Date::Simple::data($date)) {
$date_check ='ok';
} else {
$date_check = ''error;
}
print $cgi->header(-type=>'text/html',-charset=>'Shift-JIS');
print $cgi->start_html(-title=>'送信確認',-lang=>'ja');
print '実施日';
print $date;
if($date_check eq 'error') {
print '(入力形式を確認してください。)';
}
print '<br />';
print $cgi->end_html();
----------------------------------------------------------------------------------------
Date:Simpleなどのエラーチェック機能を削除するとperlのエラーは検出されなかったのですが、動作しません。
パーミッションは755です。
念のため拡張子を.cgiに変更して試しましたが変化はありませんでした。
(※テスト用のcgiは動作しました。)
原因がお分かりの方がいらっしゃいましたら、ご回答お願い致します。
No.2ベストアンサー
- 回答日時:
ソースをそのままコピーしたものですか?
No.1さんとかぶりますが、
$date = $cgi->escapeHTML('$date');
'$date'は、シングルクォートは、いらないのではないでしょうか?
あと、
> Date::Simple::data
これは、Date::Simple::dateではありませんか?最後は「a」ではなく「e」です。
> $date_check = ''error;
シングルクォートが二つ前にあって、errorを括っていません。
以上、ざっと見た範囲で、気になった部分を書いてみました。
No.1
- 回答日時:
use CGI;
use CGI::Carp qw(fatalsToBrowser);
とすると、エラーの発生場所がブラウザでわかって便利です。
パッと見、$date = $cgi->escapeHTML('$date'); が変です。'$date'という文字列にしかなりません。
use CGI;
$cgi = new CGI();
$date = '12345678';
$hoge = $cgi->escapeHTML('$date');
print $hoge, "\n";
---
$ perl foo.pl
$date
そもそも、$cgi->paramでアンエスケープ処理されるので、$date = $cgi->escapeHTML('$date');は不要です。
ご回答ありがとうございます。
参考書籍に書いてあったものを鵜呑みにしてしまいましたがescape不要だったんですね。
大変参考になりました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- CGI htmlからパラメータで、cgiに渡したい。 1 2023/02/06 16:15
- AJAX JavascriptからPHPへのAjax通信でnullが返ってくる 3 2022/08/03 22:00
- PHP PHPでCookieを使った訪問回数について 1 2023/05/28 14:10
- CGI CGIで出力するhtmlの<!DOCTYPE html>等のタグは要りますか? 2 2023/02/05 21:26
- JavaScript javascriptでテーブルに追加した項目のid追加してローカルストレージを操作したい 5 2023/01/01 15:52
- その他(プログラミング・Web制作) python 気象データの取得 2 2023/06/20 23:54
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- PHP PHP MySql 画像を取得 1 2022/06/04 14:05
- HTML・CSS 私の能力からして間違っていないような気がします。 4 2022/09/30 13:24
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Perlで時間の計算
-
テキストファイルで提出とは?
-
積分計算の答えが合いません・・・
-
Perlで、「が」を、「...
-
アルファベットに付いて質問し...
-
ファイルをディレクトリ分配の...
-
#!/usr/bin/perlで書きだしたCG...
-
Perlのエラーについてご教授く...
-
perlのflock関数でロックをかけ...
-
AI sisterとは、偽物の人ですか?
-
bashスクリプト
-
ファイルアイコンの左下に緑の□...
-
perlプログラミング 空白行削除
-
perlでリテラル値はメモリにど...
-
perlで2次元配列をサブルーチ...
-
perlについて
-
perlのrequireの動き方について...
-
perlの構文でカンマの意味が分...
-
perlについての質問
-
perlのプログラミング 部分入れ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
cgiとplとpm
-
jcode.plが読み込めない
-
セッションファイルが作成でき...
-
webからroot権限のコマンドを実...
-
バイナリファイルのアップロード
-
画像のアップロード機能
-
htmlからテキストを返すperlを...
-
プログラムを書き足すことについて
-
IMGタグにaaa.cgiを指定して、...
-
クッキーについて
-
Quantifier follows nothing in...
-
ブラウザでタグがはみ出る
-
ファイル書込時にPermission de...
-
アンケートフォームの作成
-
PDFJが動作しない
-
リンクをクリックした時に別ペ...
-
自CGIのURLのパス部分を取得す...
-
ログイン成功の後は?
-
Perlでuse strictと %inの共存
-
use と require の違いが分か...
おすすめ情報