CGI编程---登陆窗口

本文介绍了一个简单的CGI登录验证程序实现,包括HTML表单和CGI脚本两部分。用户通过表单输入用户名和密码后,CGI脚本会进行验证并返回相应的登录结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目的:

写一个登录窗口,输入帐号和密码,正确时返回成功.不正确时返回失败.

下面看下 html代码:

复制代码
<html>
<head>
<TITLE>CGI3:登录</TITLE>
</head>
</body>
<FORM ACTION="/cgi-bin/demo3.cgi" METHOD="POST">
<P>用户名:<INPUT NAME="name"><BR>
<P>用户名:<INPUT TYPE="password" NAME="password"><BR>
<INPUT TYPE="SUBMIT" VALUE="确定">
</FORM>
</body>
</html>
复制代码

注意:

1.<P>用户名:<INPUT TYPE="password" NAME="password"><BR>

这句表示文字域是用来输入密码的.在其中输入的内容用以点表示.

2.表单的方式是POST.

效果如图:

下面看下.CGI部分代码:

复制代码
#include <stdio.h>
#include
<stdlib.h>

int main(void)
{
char *str_len=NULL;//定义字符型指针
int len=0;
char buf[100]="";
char user[20]="";
char passwd[20]="";

printf(
"%s\r\n\r\n","Content-Type:text/html");//CGI标准头
printf("<html>\n<TITLE>CGI3:登录结果</TITLE><br>\n");
str_len
= getenv("CONTENT_LENGTH");//获取输入字符长度
//如果str_len没有赋值成功,如果str_len有多过数值,如果len大于80则打印出错
if( (str_len==NULL) || (sscanf(str_len, "%d", &len)!=1) || (len>80) )
printf(
"sorry!error!");
fgets(buf, len
+1, stdin); //从标准输入中读取len个字符
sscanf(buf, "name=%[^&]&password=%s", user,passwd);//格式化输入获得登陆名和密码
if( (strncmp(user,"wenhao",6)==0) && (strncmp(passwd, "111111", 6)==0) )
printf(
"<body><h1>Welcome! 登录成功!</h1></body></html>");
else
printf(
"<body><h1>Sorry! 用户名或密码错误!</h1></body></html>");
return 0;
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值