使用HTML和cgi实现网页登录功能
0.HTML文件结构

一.HTML文件
1.test.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
<!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文件
#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;
}
相关文章:
使用HTML和cgi实现网页登录功能
0.HTML文件结构 一.HTML文件 1.test.html <!DOCTYPE html> <html><head><meta charset"utf-8"><title>菜鸟教程(runoob.com)</title></head><body><!-- 将结果提交给/cgi-bin/test.cgi下 --><form actio…...
Java流程控制01:用户交互Scanner
本节教学视频链接:https://www.bilibili.com/video/BV12J41137hu?p33&vd_sourceb5775c3a4ea16a5306db9c7c1c1486b5https://www.bilibili.com/video/BV12J41137hu?p33&vd_sourceb5775c3a4ea16a5306db9c7c1c1486b5 Scanner 类用于扫描输入文本从字符串中提…...
什么是回滚
回滚(Rollback)是指当程序或数据出现错误时,将程序或数据恢复到最近一个正确版本或上一次正确状态的行为。回滚机制在软件开发、数据库管理、系统部署等多个领域都有广泛应用,旨在保证系统的稳定性和数据的完整性。以下是关于回滚…...
Java项目通过IDEA远程debug调试
前言 在我们真实项目开发过程中,又是经常会发现一种问题,就是我们在开发环境功能是正常的,在测试环境可能也不太容易发现问题。 结果到了生产环境,由于数据量大,且数据类型变多后,就产生了一些比较难复现…...
Python 绘图入门
数据可视化的概念及意义 数据可视化有着久远的历史,最早可以追溯至10世纪,至今已经应用和发展了数百年。不知名的天文学家是已知的最早尝试以图形方式显示全年当中太阳,月亮和行星的位置变化的图。 图1 数据可视化的发展历程 什么是数据可视…...
RK3568平台(背光篇)背光驱动代码分析
一.背光驱动设备树DTS backlight: backlight {compatible "pwm-backlight";pwms <&pwm1 0 5555555 1>;brightness-levels <77 77 78 78 79 79 80 8182 83 84 85 86 87 87 8888 89 90 90 91 91 92 9394 94 95 95 96 96 9…...
华为od统一考试B卷【比赛】python实现
def split_params(param_str): return list(map(int, param_str.split(,))) def main(): # 获取输入 target_str input().strip() # 输入验证,拆分并转换为整数 try: m, n split_params(target_str) except ValueError: print(-1) return # 检查 M 和 …...
Prometheus 监控接入规范
目录 一、目的 二、自定义监控指标定义规范 2.1 基本命名规范 2.1.1 指标命名规范 2.1.2 标签名称 2.2 控制基数 2.2.1 避免高基数标签 2.2.2 预定义标签集 2.2.3 动态数据的处理 2.2.4 评估与监控基数 2.2.5 降低历史数据的保留 2.2.6 适当使用 Histogram 和 Summa…...
优化 SQL 查询性能:深入理解 EXPLAIN 命令
优化 SQL 查询性能:深入理解 EXPLAIN 命令 在 MySQL 数据库管理中,优化 SQL 查询性能是确保高效数据处理的关键。EXPLAIN 命令是分析和优化 SQL 查询的强大工具,它帮助我们理解查询执行计划,从而找到性能瓶颈并进行优化。本文将详细解释 EXPLAIN 命令返回的各个列的含义,…...
@Mapper报红
检查pom.xml,导入 org.mybatis.spring.boot 依赖: <dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>3.0.3</version></dependency…...
shell综合小实验1-----查看系统硬件信息
echo命令的使用 1:echo -n 不换行 echo -n “我是个大聪明” #不换行输入我是大聪明 2:echo -e 开启颜色 echo -e "\03335m我是大聪明\033[0m" #用35m这种颜色输出我是大聪明然后关闭颜色显示, 30多是字体颜色,40多是…...
【过程管理】项目需求管理规程(Word原件)
在软件开发的过程中,开发人员与用户之间往往忽视有效的信息沟通,这常常导致开发出的软件无法满足用户的实际需求,进而引发不必要的返工。返工不仅为开发人员带来技术上的困扰,增加了人力和物力的消耗,还会对软件的整体…...
C# 不使用 `async` 和 `await` 的常见场景
虽然 async 和 await 是强大的异步编程工具,但在某些情况下,不使用它们可能更合适。以下是一些不使用 async 和 await 的常见场景: 方法是完全同步的: 如果方法中的所有操作都是同步的,并且没有异步调用,则…...
adb目录笔记《adb更新、进入开发者模式,adb查询packages、adb开启应用,查询进程、强制删除进程》
1.sideload模式 在需要安卓没有root权限的时候,可以使用adb reboot sideload命令进入sideload模式,之后运行对应文件 adb reboot sideload adb sideload <root.zip> 2.packages包查询、运行、删除 在需要查看安卓中packages包的名称时…...
VS2022 C++ EasyX EGE 吃豆人升级版
我是可爱的C小盆友(不要脸了),嘻嘻,等了这么久,吃豆人终于升级啦! 更新日志: 1.修复奇奇怪怪的bug 2.把敌人AI增强了一(hen)点(duo) 3.加入了…...
计算机图形学 | 动画模拟
动画模拟 布料模拟 质点弹簧系统: 红色部分很弱地阻挡对折 Steep connection FEM:有限元方法 粒子系统 粒子系统本质上就是在定义个体和群体的关系。 动画帧率 VR游戏要不晕需要达到90fps Forward Kinematics Inverse Kinematics 只告诉末端p点,中间…...
B2.3 Arm 内存模型定义
B2.3 Arm 内存模型定义 Arm 内存模型引入了以下几种关系: 内在关系 :例如,内在数据/控制/顺序依赖关系和内在翻译之前的关系,这些是源自指令语义的硬件要求。 之后关系 :例如,之后的连贯性和 TLB 之后的关系,这些关系在特定执行中发生这种方式,但在不同的执行中可以以…...
(javaweb)SpringBootWeb案例(毕业设计)案例--部门管理
目录 1.准备工作 2.部门管理--查询功能 3.前后端联调 3.部门管理--新增功能 1.准备工作 mapper数据访问层相当于dao层 根据页面原型和需求分析出接口文档--前后端必须遵循这种规范 大部分情况下 接口文档由后端人员来编写 前后端进行交互基于restful风格接口 http的请求方式…...
PCL 采样一致性模型介绍
采样一致性可以简单高效的检测出一些具有数学表达式的目标模型。PCL中的sample consensus模块中不仅包含各种的采样一致性估计方法,也包含一些已经编写好的数学模型,下面主要介绍一下PCL中的采样一致性模型。 1. 二维圆模型 pcl::SampleConsensusModelCircle2D< PointT …...
Unity手游开放大世界解决方案
开个新坑了,分享一个手游开放大世界的解决方案,也算是我开发研究了一年多的结果吧。之前项目需要,做了一整套的手游开放大世界解决方案,这里做一个总结归纳,将所需要的技术栈和解决方案等汇总。 这篇文章只是起头一个目…...
Xilinx Video IP(二)AXI4-Stream视频流高效缓冲与FIFO深度优化
1. AXI4-Stream视频流缓冲的核心挑战 在视频处理系统中,AXI4-Stream协议因其高效的数据传输特性成为Xilinx视频IP的首选接口。但实际工程中,时钟域异步和速率不匹配两大问题就像两个调皮的孩子,总喜欢给工程师制造麻烦。我曾在多个项目中遇到…...
达梦DCA认证必看:主从同步原理与ARCH_WAIT_APPLY参数深度实验
达梦DCA认证核心考点解析:主从同步机制与ARCH_WAIT_APPLY实战指南 1. 主从同步架构设计原理 达梦数据库的主从同步机制建立在MAL(Message Automatic Load)通信框架之上,这是实现高可用性的核心技术底座。通过Wireshark抓包分析可以…...
OpenKore游戏效率工具完全指南:自动化脚本从配置到精通
OpenKore游戏效率工具完全指南:自动化脚本从配置到精通 【免费下载链接】openkore A free/open source client and automation tool for Ragnarok Online 项目地址: https://gitcode.com/gh_mirrors/op/openkore 一、价值定位:为什么OpenKore是RO…...
STM32新手避坑:用Keil5和SSD1306 OLED显示自定义汉字(解决中文乱码)
STM32实战指南:Keil5与SSD1306 OLED的汉字显示优化全解析 刚接触STM32开发的工程师们,在完成基础的点灯实验后,往往迫不及待想尝试更丰富的显示功能。SSD1306 OLED屏幕因其小巧的体积和清晰的显示效果,成为许多项目的首选。但当涉…...
从报文周期到安全状态:ISO26262通信故障诊断的5个关键时间参数详解
从报文周期到安全状态:ISO26262通信故障诊断的5个关键时间参数详解 在智能驾驶系统快速发展的今天,确保车辆电子系统的功能安全已成为行业共识。ISO26262作为汽车功能安全的黄金标准,其核心在于建立一套完整的故障诊断与处理机制。本文将深入…...
SDMatte与LSTM时序模型结合:处理视频连续帧的稳定抠图
SDMatte与LSTM时序模型结合:处理视频连续帧的稳定抠图 1. 引言:视频抠图的挑战与机遇 视频抠图技术一直是影视后期和直播领域的核心需求。传统方法在处理动态场景时常常面临边缘闪烁、细节丢失和时间不一致等问题。想象一下,当你在视频会议…...
LabelImg图像标注工具:3分钟掌握高效目标检测数据标注技巧
LabelImg图像标注工具:3分钟掌握高效目标检测数据标注技巧 【免费下载链接】labelImg LabelImg is now part of the Label Studio community. The popular image annotation tool created by Tzutalin is no longer actively being developed, but you can check ou…...
夏中谱加盟无界动力,助力具身智能发展
夏中谱入职无界动力,担重任开启新征程今日,无界动力宣布夏中谱正式加入,担任联合创始人兼联席CTO。这一任命使他全面负责基于世界模型的原生具身智能多模态大模型研发,以及数据闭环、云端仿真等核心技术基础设施的持续建设与升级。…...
Torch-Pruning高效剪枝实战:解决BERT模型部署中的计算资源瓶颈问题
Torch-Pruning高效剪枝实战:解决BERT模型部署中的计算资源瓶颈问题 【免费下载链接】Torch-Pruning [CVPR 2023] Towards Any Structural Pruning; LLMs / Diffusion / Transformers / YOLOv8 / CNNs 项目地址: https://gitcode.com/gh_mirrors/to/Torch-Pruning …...
告别Git命令行烦恼:Tig工具让版本控制效率提升3倍
告别Git命令行烦恼:Tig工具让版本控制效率提升3倍 【免费下载链接】tig Text-mode interface for git 项目地址: https://gitcode.com/gh_mirrors/ti/tig 作为开发者,你是否也曾面临这些Git操作痛点:记不住复杂的git log参数组合、在命…...
