我有一個Perl CGI腳本來創建一個登錄屏幕,即用戶名和密碼。如何在CGI腳本中調用另一個Perl CGI腳本?
我想在成功登錄後將用戶重定向到應用程序中的下一個動作(另一個Perl CGI腳本)。
重定向一個CGI腳本或HTML頁面的命令是什麼?
我有一個Perl CGI腳本來創建一個登錄屏幕,即用戶名和密碼。如何在CGI腳本中調用另一個Perl CGI腳本?
我想在成功登錄後將用戶重定向到應用程序中的下一個動作(另一個Perl CGI腳本)。
重定向一個CGI腳本或HTML頁面的命令是什麼?
使用CGI作爲David Dorward提到的例子。
use CGI;
if (redirect_needed) {
# If redirect is desired, don't print headers...
print CGI->redirect("http://some.other.url/");
exit;
}
# If no redirect is desired...
print CGI->header();
# etc...
在HTTP術語中,您應該讓程序輸出302 or 303 status code和Location header。
如果您使用的是CGI.pm,則可以使用the redirect method來實現此目的。
但是,如果在重定向之前調用CGI-> header()之類的任何東西,則重定向方法不起作用。 – gath 2009-11-25 14:11:37
@gath:正確。諸如發送重定向,設置cookie以及設置輸出的「內容類型」之類的操作都是HTTP標頭中必須發生的所有操作,而這些操作必須是從腳本到標準輸出的第一個輸出。 – 2009-11-25 14:41:40