1

cgi スクリプトを呼び出す href を含むスクリプトがあり、href から cgi スクリプトに値を渡したい..最初のスクリプトは link.cgi で、次のような行があります。

 print "<TD align=center><FONT SIZE='4'><a href='../cgi-bin/call.cgi?param=$path1'>$v_rel</a></FONT>\n";

call.cgi に次の行があります。

use CGI;
my $cgi = CGI->new();
my ($param) = $cgi->param('param');
print ".....the value is $param\n";

call.cgi を呼び出すリンクをクリックすると、ここでエラーが発生します。param が call.cgi に渡されていないと思います。善良な人なら誰でも助けてくれます。事前に感謝します。

4

1 に答える 1

0

-T通常、削除は適切な解決策ではありません。おそらくあなたのコードには潜在的なセキュリティ問題があり、perl は-Tそれについてあなたに警告しました。を削除する-Tと、マスクされただけですが、まだそこにあります。の戻り値$cgi->param()は汚染されており、多くの関数に渡す前にクリーンアップする必要があります。

代わりに、use CGI::Carp qw/fatalsToBrowser/;@Chris の提案に従って追加します。それでもこのエラーが発生する場合は、エラーに関する詳細情報が含まれているサーバー エラー ログを確認してください。

コマンド ラインから実行して、コマンド ラインでエラーを直接確認できると役立つ場合があります。パラメータを設定QUERY_STRINGしてスクリプトを実行します。

export REQUEST_METHOD=GET
export QUERY_STRING=param=WhateverYourPath1Is
perl /path/to/call.cgi

注意: スクリプトによっては、他のいくつかの CGI 環境変数を定義する必要がある場合があります。

于 2013-10-29T10:23:46.653 に答える