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;
    }

  • 相关阅读:
    MySQL GTID复制Slave跳过错误事务Id以及复制排错问题总结
    Git基础命令整理
    原创-公司项目部署交付环境预检查shell脚本
    解决SecureCRT超时自动断开的问题
    Linux设置显示中文和设置字体
    高等代数4 线性方程组
    高等代数3 行列式
    高等代数2 向量组
    高等代数1 矩阵
    离散数学4 组合数学
  • 原文地址:https://www.cnblogs.com/hnrainll/p/2068469.html
Copyright © 2011-2022 走看看