CGI编程---登陆窗口

目的:

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

下面看下 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、付费专栏及课程。

余额充值