调试不打印HTML的CGI脚本

时间:2014-10-24 06:59:09

标签: perl cgi

我想知道如何调试不输出任何cgi的{​​{1}}脚本。

我目前有一个带有HTML表单的登录页面,在提交时会重定向到另一个html脚本。该脚本应该检查用户是否输入了正确的信息。

此脚本不打印任何cgi,因此我不确定我应该如何检查它。当我对此脚本进行重定向时,我当前正在收到htmlInternal Server Error州:

error.log

有人可以告诉我一种可以调试此脚本的方法吗?

感谢您的帮助。

End of script output before headers:

main.cgi

#!/usr/bin/perl -w use CGI qw/:all/; use CGI::Carp qw(fatalsToBrowser warningsToBrowser); use CGI::Cookie; use Data::Dumper; use List::Util qw/min max/; warningsToBrowser(1); # print start of HTML ASAP to assist debugging if there is an error in the script print page_header(); # Get Cookies %cookies = CGI::Cookie->fetch; # If no cookie, display login page if (!%cookies){ # Redirects the user to login.cgi print show_login_form(); } #if cookie # do something print page_trailer();

login.cgi

1 个答案:

答案 0 :(得分:0)

错误End of script output before headers:表示您的脚本已完成而未输出任何内容。从本质上讲,您已经创建了CGI::Cookie但未创建sent it to the browser

$cookie->bake;

如果您想设置cookie然后重定向到另一个页面,可以使用:

print redirect(-uri => 'other_page.html', -cookie => $cookie);