두 개의 CGI 스크립트가 있습니다. Login.cgi 및 welcome.cgi 나는cgi/perl에서 리디렉션을 통한 변수 전달
#!C:/Perl/bin/perl.exe -w
#welcome.cgi
use warnings;
use CGI::Pretty qw(:all);
use strict;
my $cgi=new CGI;
my $username;
print header();
print start_html("Welcome"),h1("Hello, $username");
print end_html();
가 어떻게 사용자 이름을받을 수 있나요 welcome.cgi 내가
#!C:/Perl/bin/perl.exe -w
#login.cgi
use strict;
use warnings;
use CGI::Pretty qw(:all);
my $cgi = new CGI;
my $username = $cgi->param('username');
my $password = $cgi->param('password');
if (($cgi->param('username') eq 'demo') && ($cgi->param('password') eq 'demo')) {
print $cgi->redirect("welcome.cgi");
}
else {
print header();
print start_html(-title => "Login");
if ($cgi->param('username') or $cgi->param('password')) {
print center(font({ -color => 'red' }, "Invalid input"));
}
print generate_form();
print end_html();
}
sub generate_form {
return start_form,
h1("Please Login"),
p("username", textfield('username')),
p("password", textfield('password')), p(submit),
end_form;
}
또 다른 페이지를 두 페이지입니다 여기에이 두 페이지 사이에 변수를 전달하려면 변수가 welcome.cgi로 전달 되었습니까?
볼 수 있습니다. 차이점은 미묘하지만,'new '를 항상 그렇게 부르는 습관에 빠지면 미래의 어느 시점에서 디버깅 시간을 많이 절약 할 수 있습니다. –