使用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;
}
相关推荐
anOnion9 小时前
构建无障碍组件之Meter Pattern
前端·html·交互设计
修己xj9 小时前
Markdown 里写公式,别只知道 LaTeX!试试 HTML 标签,简单到飞起
html
hhcccchh13 小时前
1.1 HTML 语义化标签(header、nav、main、section、footer 等)
java·前端·html
bjzhang7514 小时前
使用 HTML + JavaScript 实现组织架构图
前端·javascript·html·组织架构图
AscendKing16 小时前
免费、易用、覆盖全平台的网页转 PDF 工具
pdf·html·网页保存·网页保存为pdf·保存网页位pdf
ZC跨境爬虫19 小时前
海南大学交友平台登录页开发实战day4(解决python传输并读取登录信息的问题)
开发语言·前端·python·flask·html
yivifu21 小时前
一种更精细的HTML表格斑马色设置方法
前端·html
盐水冰21 小时前
【HTML】(1)- 演示&标记语言
前端·html
自然 醒1 天前
uni-app开发微信小程序,如何使用towxml去渲染md格式和html标签格式的内容?
微信小程序·uni-app·html
我命由我123452 天前
React - 组件优化、children props 与 render props、错误边界
前端·javascript·react.js·前端框架·html·ecmascript·js