zoukankan      html  css  js  c++  java
  • CGI编程学习4 登陆窗口

    目的:

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

    下面看下 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;
    }

  • 相关阅读:
    Stopping User Manager for UID 121” error
    IDEA——如何再次开启ESLint
    堆排序
    akka-typed(10)
    微慕WordPress小程序专业版v3.0发布
    微慕WordPress小程序增强版v2.0发布
    微慕WordPress小程序开源版v3.6发布
    微慕小程序开源版A标签优化说明
    微信小程序开放「分享到朋友圈」功能
    微信小程序直播安装和开发指南
  • 原文地址:https://www.cnblogs.com/hnrainll/p/2068469.html
Copyright © 2011-2022 走看看