使用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;
}
相关推荐
labixiong10 小时前
z-index: 99999 输给 z-index: 2?原生弹窗的 Top Layer 排位战:后进者居上、看得见却点不着
前端·html
芳心粽伙饭10 小时前
HTML第八章 表单标签
前端·html
weixin_4407305010 小时前
pytest结合allure生成html测试报告(step、story、severity、screenshot)
前端·html·pytest·allure报告
用户2986985301410 小时前
在 React 中实现 RTF 与 PDF、HTML 的文档转换实践
javascript·react.js·html
3A Cloud11 小时前
Huashu Design:把 AI Agent 变成一间以 HTML 为画布的设计工作室
前端·人工智能·html
zhanghaha131411 小时前
Python进阶教程:24_Markdown 转 HTML 零基础超详细教程
开发语言·python·html
芳心粽伙饭11 小时前
HTML第七章 表格标签
前端·html
IMPYLH12 小时前
HTML 的 <option> 元素
服务器·数据库·html
平头哥~12 小时前
Day 15 | 不改一行 HTML,给页面加上引号、角标和标签
前端·javascript·css·html·css3·学习资料
Made in Haven7121 天前
HTML课程笔记补2
前端·笔记·html