我有简单的登录页面。当我输入abc和123作为登录凭据时,它应该将我重定向到登录成功页面,但它一直给我内部错误。如果登录信息不是abc和123,它应该重定向到错误的登录页面。也许我的if语句错了。你能检查一下我的代码吗?请。
#!/usr/bin/perl
use CGI qw( :standard );
$user = param( "user" );
$password = param( "password" );
$user = param( "user" );
$password = param( "password" );
if ($user == "abc") && ($password == "123")
print redirect ( "../../login.htm" );
}
if (!$user ne "abc") || (!$password ne "123")
print redirect ( "../../wrong.htm" );
}
答案 0 :(得分:1)
我将您的代码放入名为test.cgi的文件中,然后检查它是否存在编译错误。
$ perl -c test.cgi
syntax error at test.cgi line 11, near ") &&"
Unmatched right curly bracket at test.cgi line 13, at end of line
Unmatched right curly bracket at test.cgi line 17, at end of line
test.cgi had compilation errors.
这样就可以给你一些看的地方。您用于if
语句的语法有两种方式。
以下是一些可以帮助您更有效地编写Perl代码的建议。
use strict
和use warnings
添加到您的代码中并修复他们向您显示的问题。您的代码中至少还有一个问题可由use warnings
找到。最后,编写CGI程序并不是2015年编写Web应用程序的最佳方式。请查看some alternatives。