こんにちは、perl は初めてで、スクリプトの一部がスキップされるという問題があります。
ユーザーを検証しようとしています。ユーザーが admin および admin と入力すると、ようこそ画面が表示され、それ以外の場合はエラーが表示されます。
スクリプトが if 条件をスキップし続けます。何か案は?
#!/usr/bin/perl
use CGI;
use strict;
use warnings;
my $object = new CGI;
print "Content-type: text/html\n\n";
if ($object->param("submit")) {
validate_form ();
} else {
display_form ();
}
sub validate_form {
my $user = $object->param("user");
my $password = $object->param("password");
my $user2 = "admin";
my $password2 = "admin";
my $wrong = "WRONG";
if (my $user == my $user2 && $password == $password2) {
print $password;
} else {
print $wrong;
}
}
sub display_form {
print <<END_HTML;
<html>
<head>
<title>Assignment 1</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
<body>
<form method="post" action="/~int322_132sa13/cgi-bin/assn1/test2.pl" enctype="mu
User Name: <input type="text" name="user" />
Password:<input type="password" name="password" />
<input type="submit" name="submit" value="submit" />
</form>
</body>
</html>
END_HTML
}