其中<form ...>与</form>构成一个完整的表单,一个表单内需要有一个 submit 类型
的按钮来实现提交表单到服务器的功能。用户指定表单的请求方式为 post,执行的 CGI 程序
的路径和名称。当点击类型为 submit 按钮时,表单内容将通过 post 方式被提交到 web 服
务器。
web 服务器端
当表单被提交时,表单内所有的参数与变量都被提交,以上例来说,CGI 程序可以通过
CGIC 库函数从提交的表单中提取到 userName 与用户名变量,password 与输入的密码,
并且可以查找表单是否是名称为 btnLogin 的按钮提交的。 注意使用 CGIC 库时用户程序的
入口函数为:cgiMain()。登录验证的处理函数如下所示:
验证 cookie 中用户名和密码是否合法,如果合法就设置浏览器的 cookie。
指定 HTML 数据类型,让浏览器直到输出数据的 HTML 类型。
3 / 13
<form method="post" acon="cgi-bin/login.cgi">
<input type="text" name="userName" placeholder="用户名" required="required" />
<input type="password" name="password" placeholder="密码" required="required" />
<bu'on type="submit" name="btnLogin" class="btn btn-primary btn-block btn-large">登录</bu'on>
</form>
int cgiMain()
{
/* 如果要设置 cookie,必须在设置浏览器 HTML 类型前设置 */
bool rst = CookieSet();
/*指定输出数据的类型,让浏览器直到 THML 的类型 */
cgiHeaderContentType("text/html");
showHtml(rst); // 输出网页数据
return 0;
}