Forms Can';t在perl上通过html表单发送get和post http请求
我的网站上有交换机结构Forms Can';t在perl上通过html表单发送get和post http请求,forms,perl,post,get,http-request,Forms,Perl,Post,Get,Http Request,我的网站上有交换机结构我处理get请求,并根据查询中的内容加载不同的脚本。脚本中有开关指令。 比如说 链接:site.com/-打印类似“按一些菜单按钮”的内容 链接:site.com/?mode=users-加载脚本users.pl 链接:site.com/?mode=address-加载脚本addreses.pl 链接:site.com/?mode=users&action=add-加载script users.pl,在这个脚本中,我有另一个开关,它根据get参数“action”执行dif操
我处理get请求,并根据查询中的内容加载不同的脚本。脚本中有开关指令。 比如说 链接:
site.com/
-打印类似“按一些菜单按钮”的内容
链接:site.com/?mode=users
-加载脚本users.pl
链接:site.com/?mode=address
-加载脚本addreses.pl
链接:site.com/?mode=users&action=add
-加载script users.pl,在这个脚本中,我有另一个开关,它根据get参数“action”执行dif操作
在\u/?mode=users&action=add上,我有一个表单。此表单中的操作为none(操作=“”),方法=post。所以当我按下“发送”按钮时,这个页面必须用post参数刷新。对吗?对
问题是:当我按下发送按钮时,index.pl正在加载,而不是同一个页面。就像没有get参数一样
我尝试打印所有参数,哪一页接收
@names = $params->param;
print @names;
这是打印post参数,我在表单中输入,但不是打印从链接获取参数。链接相同:/?模式=用户&操作=添加
我试图打印$ENV{'QUERY\u STRING'}代码>-显示所有参数。post和get及其名称都是正确的。
有什么问题吗<代码>$ENV{'HTTP_REQUEST'}代码>在我发送表单时仅为“post”,而在我刚加载表单页面时为“get”。
Perl不能同时发送get和post请求吗?我必须做什么?
以下是我处理查询字符串的方式:
$params=new CGI;
$action=$params->param("mode"); # or $action=$params->param("action");
和开关:
use feature 'switch';
for ($action) {
when ('users') {
do "./pages/users.pl";
}
.... some more 'when'
default {
print 'select something';
}
}
试着把问号前面的斜线去掉
eg变化
/?模式=用户&操作=添加
到
?mode=users&action=add我真的不知道为什么它不起作用,但我找到了下一个解决方案。例如,链接是/?mode=users&action=add(它是一个表单)。我只是在表单中添加了2:
<input type='hidden' name='mode' value='users'>
<input type='hidden' name='action' value='add'>
你不明白我的意思。操作为空()