使用HTML和cgi实现网页登录功能

0.HTML文件结构

一.HTML文件

1.test.html

html 复制代码
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>菜鸟教程(runoob.com)</title>
    </head>
    <body>
 
        <!-- 将结果提交给/cgi-bin/test.cgi下 -->
        <form action="/cgi-bin/test.cgi" method="post">        
            用户名: <input type="text" name="name">    
            密码: <input type="text" name="number">
            <input type="submit" value="登录">
        </form>

        <a href="/cgi-bin/test.cgi"> 跳转到test.cgi </a>
 
    </body>
</html>

2.choose.html

html 复制代码
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>choose</title>
    </head>
    <body>
 
        <!-- <H1>仓库1</H1> -->
        <td height="62"><h1 align="center">仓库1</h1></td>

        <h1 align="center" ><a href="/index.html"> 回到登陆界面 </a></h1>
 
    </body>
</html>

登陆成功则会跳转到此页面

二.test.cgi文件

cpp 复制代码
#include <stdio.h>
#include "cgic.h"
#include <string.h>
#include <stdlib.h>


int cgiMain() 
{
    char name[241] = {0};
    char number[241] = {0};

    cgiHeaderContentType("text/html");
    fprintf(cgiOut, "<HTML>\n");

        fprintf(cgiOut,"<HEAD>\n");

            fprintf(cgiOut, "<TITLE>My First CGI</TITLE>\n");
            fprintf(cgiOut,"<meta charset='utf-8'>\n");

        fprintf(cgiOut,"</HEAD>\n");

        fprintf(cgiOut,"<BODY>\n");

            fprintf(cgiOut, "<H1>Hello CGIC1</H1>\n");
            cgiFormString("name",name,241);                         //获取名为name的数据
            cgiFormString("number",number,241);                     //获取名为number的数据
            fprintf(cgiOut,"<H2>name=%s</H2>\n",name);
            fprintf(cgiOut,"<H2>number=%s</H2>\n",number);
            fprintf(cgiOut, "<a href='/index.html'>本文本</a>\n\n");

             //对比用户名和密码
            if((!strcmp(name,"liuhai")) && (!strcmp(number,"123456")))       
            {
                fprintf(cgiOut,"<p>登录成功</p>\n");
                printf("<script language='javascript'>document.location = 'http://127.0.0.1/choose.html'</script>");
            }
            else 
            {
                fprintf(cgiOut,"<p>登陆失败</p>\n");
            }


        fprintf(cgiOut, "</BODY>\n");

    fprintf(cgiOut, "</HTML>\n");


    return 0;
}
相关推荐
软件技术NINI12 小时前
圣罗兰彩妆html+css 4页
前端·css·html
2601_9516152013 小时前
网站模板 网站网页模板下载
前端·网络·html
酷炫码神14 小时前
Day 1|HTML5:一个商城首页的骨架,从 DOCTYPE 到语义化
前端·html·html5
AI源码14 小时前
鲜花商城(HTML 版)
前端·html
Sunny_GMF17 小时前
Markdown 导出 HTML 实战:2.6MB 编辑器快照如何瘦身 71%(DOM 净化 + CSSOM 运行时裁剪)
编辑器·html·ai编程·harmonyos
zd84510150018 小时前
基于 HTML 与 Modbus TCP 构建设备仪器上位机:可行性分析与代码结构设计
前端·tcp/ip·html
damoluomu19 小时前
静态站点生成器怎么选:Node.js 生态里常用的五个(番外一)
javascript·css·typescript·node.js·html
程序员大阳19 小时前
副队长HTML+CSS博客网站实战 (1)–项目介绍与整体规划
css·html·实战·教程·博客网站·规划
程序员大阳19 小时前
副队长HTML+CSS博客网站实战 (3)–首页主体:Grid 文章卡片 + 侧边栏布局
css·html·侧边栏·博客网站·首页·文章卡片
爱喝水的小周20 小时前
实验十一 Vuex 实现王者荣耀后台比赛管理系统
前端·css·html