无法在PERL CGI中调用提交查询

时间:2012-05-29 11:34:31

标签: perl cgi

嘿所以我想创建一个简单的“约会网站”但是我正在努力与CGI方面:(主要是我遇到形式问题(我想我不太确定我正在努力)

我有这个陈述

print header, start_html("EngCupid"), h2("EngCupid"), start_form;

if (!param() || param("home")) {
    show_welcome();
} elsif (param("browse")) {
    browse_page();
} elsif (param("search")) {
    search_users();
} elsif (param("username")) {
    search_results(); 
} else {
    print "fail";
}   
print end_form, end_html;
exit 0; 

处理网站的常规导航。但是,在提交这些功能中的按钮等时,我很挣扎。所以我的browse_page()函数是

sub browse_page {
        print h2("Browse Page");
    print p;
    if (param("next")) {
        $hidden_variable = param("x") + 1;
    }
    param('x', $hidden_variable);
    $hidden_variable = 0;
    print hidden('x');
    print submit("next", "Next");
    print submit("home", "Home"), " ", submit("search", "Search Users");

}

每次按下一个键时,应该增加一个我需要用于更多功能的变量。但是,每当我按下下一个键时,它就会打印失败,因为表单没有被传递?

我在打印的每个功能中都需要一个新表格吗?我尝试过但它仍然没有用。只是在形式上有点迷失。

1 个答案:

答案 0 :(得分:0)

我不确定你想要实现的目标。也许问题是x没有从客户端发送回服务器,也许你想要

print hidden('x', param('x'));

另外,为什么要将$hidden_variable设置为0?提交后,脚本将再次运行,变量的旧值将不再可访问。