cgicc可以很好地处理表单元素,但我怎么知道数据是从get_method还是post_method生成的?
我使用的代码:
cout << "Content-type:text/html\r\n\r\n";
try {
Cgicc cgi;
const_form_iterator iter;
for(iter = cgi.getElements().begin();
iter != cgi.getElements().end();
++iter){
cout <<
"<table><tr>" <<
"<td>" << iter->getName() << "</td>" <<
"<td>" << iter->getValue() << "</td>" <<
"</tr></table>" << endl;
}
}catch(exception& e) {
cout << e.what() << endl;
}
更新
我从cgicc官方网页上找到了这个:“透明地解析GET和POST格式数据。” (http://www.gnu.org/software/cgicc/)
似乎cgicc不希望按设计分开获取和发布?
答案 0 :(得分:1)
答案 1 :(得分:0)
我认为解决此问题的唯一方法是检查GET方法查询字符串中是否存在与POST方法中变量名称相同的变量名称。这意味着必须仅在两种方法之一中提及变量名。换句话说,如果将GET方法的变量与POST的变量组合在一个集合中,则变量名在该集合中必须被提及一次。