Vấn đề của tôi là như sau. Sau khi mật khẩu được công nhận là hợp lệ tôi cần phải chuyển hướng đến main.cgi
nhưng tôi nhận được thông báo như sau:Làm cách nào để chuyển hướng khách hàng từ trang CGI này sang trang khác bằng Perl?
Status: 302 Found
Location: http://localhost/cgi-bin/Main.cgi
tôi biết lý do cho điều này là tôi đang viết bản Tuyên Bố này sau Content-Type
vì vậy nó được dùng này dưới dạng HTML và in trên màn hình. Tôi là một newbie để Perl. Ai có thể vui lòng giúp tôi tìm ra giải pháp cho việc này và làm cho mã của tôi hoạt động theo cách tôi muốn? Hoặc vui lòng đề xuất cho tôi một số mã thay thế cho điều này hoặc bất kỳ liên kết nào có thể giúp tôi.
#!C:\perl\bin\perl.exe
use strict;
use CGI qw(:standard);
use CGI::Carp qw(warningsToBrowser fatalsToBrowser);
use DBI;
my $q = new CGI;
print "Content-Type: text/html\n\n";
if ($q->param("Login")) {
my $Password = param('Password');
if (!$Password) {
print "Please Enter the Password";
} else {
my $dbh = DBI->connect(
"dbi:SQLite:DEVICE.db",
"", "",
{
RaiseError => 1,
AutoCommit => 1
}
);
my $sth = $dbh->prepare("select * from Settings where Password = ?");
$sth->execute($Password);
if (my $pass = $sth->fetchrow_hashref) {
print redirect(-url => 'http://localhost/cgi-bin/Main.cgi');
} else {
print "Invalid Password";
}
$dbh->disconnect;
}
}
print <<END1;
<HTML>
<HEAD>
<TITLE> </TITLE>
</HEAD>
<body>
<form NAME="login" METHOD="POST">
<input type="hidden" name="submit" value="Submit">
<TABLE align="center" bgcolor=#B0C4DE>
<TR>
<TD> Enter The Password And Click Login</TD>
</TR>
<TR></TR>
<TR></TR>
<TR></TR>
<TR></TR>
<TR></TR>
<TR>
<TD><b>PASSWORD</b> :<input type="password" name="Password" size="20" maxlength="15" /></TD>
</TR>
<TR></TR>
<TR></TR>
<TR></TR>
<TR></TR>
<TR></TR>
<TR>
<TR>
<TD align="center" colspan="2">
<input type="submit" name="Login" value="Login">
<input type="reset" name="submit" value="Cancel">
</TD>
</TR>
</TABLE>
</FORM>
</BODY>
</HTML>
END1
Chưa thực sự xem xét điều này, như bạn đã nói, bạn mới và điều này có nhiều vấn đề về cấu tạo tốt, nhưng in loại nội dung sau này, nếu bạn biết trường hợp đó. – vol7ron
HEY THANKS ALOT ... tôi đã đặt nó lên trên bản in << END1 ... nó hoạt động hoàn toàn điều hướng đến trang có ý định..bt nếu tôi nhập sai mật khẩu sau đó thay vì dispalying "mật khẩu không hợp lệ" .. trang là nhận được làm mới thas al ..tôi đã thử puttin nó jst abve tuyên bố in "không hợp lệ mật khẩu"; ,, bt của nó cho một LRI: INTERNAL MÁY L ERI ERROR ,,,,, wen tôi kiểm tra các bản ghi lỗi sau đó ths s wat tôi phát hiện ra .. "tiêu đề không đúng từ Tiêu đề không hợp lệ = : Login.cgi ", .. ĐÂY LÀ MỘT ĐỀ XUẤT MỚI NGAY BÂY GIỜ ... hãy giúp tôi giải quyết nó, nếu nó được giải quyết thì mọi vấn đề trong chương trình của tôi được sắp xếp ... – sonya
có thể trùng lặp [Chuyển hướng từ trang CGI này sang trang khác] (http://stackoverflow.com/questions/3649762/redirecting-from-one-cgi-page-to-another) – daxim