基于PHP的http字段查询与注册(V1)(持续迭代)

news2024/11/24 18:46:00

目录

版本说明:

实现环境(WAMP):

数据库链接

查询页面

php处理逻辑

字段添加


版本说明:

该查询功能以查询http首部字段为目的实现的字段属性、字段内容的查询,以及对新字段信息的数据注册。

v1实现功能:

http字段查询、

新http字段相关内容的注册(添加)

实现环境(WAMP):

windows11、Apache、MySQL、PHP8

数据库链接

基于php的MySQL数据库联动代码模板

 查询页面

(忽略UI)

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>http报文查询</title>
    <style>
        /* 遮罩层样式 */
        .overlay {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background-color: rgba(0, 0, 0, 0.5);
            display: none;
            /* 默认隐藏 */
        }

        /* 弹窗样式 */
        .popup {
            position: fixed;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            padding: 20px;
            background-color: #fff;
            border: 1px solid #ccc;
            border-radius: 5px;
            display: none;
            /* 默认隐藏 */
        }

        label {
            width: 100px;
            margin-bottom: 10px;
        }

        input[type="text"] {
            padding: 8px;
            border: 1px solid #ccc;
            border-radius: 4px;
            font-size: 16px;
            color: #555;
        }

        button {
            padding: 5px 10px;
            border-radius: 3px;
            border: none;
            background-color: #007bff;
            color: #fff;
            cursor: pointer;
        }

        button:hover {
            background-color: #0069d9;
        }
    </style>
    <script type="text/javascript" src="_JS/check_search.js"></script>
</head>

<body>
    <form method="post">
        <input type="text" name="query" placeholder="输入查询内容">
        <input type="submit" value="查询" name="Http_query">
    </form>

    <button id="openBtn">点击按钮添加字段</button>
    <div class="overlay" id="overlay"></div>

    <div class="popup" id="popup">      
    <form method="post" onsubmit="return checkForm(this)">
            <label>
                字段名称:
            </label>
            <input type="text" value="" placeholder="注册字段名" name="key_name" /><br><br>
            <label>
                字段属性:
            </label>
            <input type="text" value="" placeholder="注册字段属性" name="key_team" /><br><br>
            <label>
                字段释义:
            </label>
            <input type="text" value="" placeholder="注册字段含义" name="key_mess"><br><br>

            <bon id="closeBtn">放弃</bon>
            <button type="submit" name="Http_add">添加</button>

        </form>
    </div>
    <script>
        const openBtn = document.getElementById('openBtn');
        const closeBtn = document.getElementById('closeBtn');
        const popup = document.getElementById('popup');
        const overlay = document.getElementById('overlay');
        openBtn.addEventListener('click', function() {
            popup.style.display = 'block';
            overlay.style.display = 'block';
        }); 
    </script>
</body>

</html>

php处理逻辑

字段查询与添加:

<?php
//文件包含:数据库连接文件
include('mysql_connect.php');

if (!$conn) {
    // 判断数据库连接状态
    // die(),输出一条信息,然后退出脚本.
    die('连接数据库失败!请检查数据库是否开启' . mysqli_connect_errno());
}

//请求传值
$query = $_POST['query'];
$queryHttp = strtolower($query);

//判断查询表单
if(isset($_POST['Http_query'])) {
    # code...
    $queryHttp = strtolower($_POST['query']);
    $sql_search = "select * from info_search where http_headnam = '$queryHttp';";
    $result = $conn->query(query: $sql_search);
    
//判断查询影响行数
    if (mysqli_num_rows($result) > 0) {
    
        $row = $result->fetch_assoc();     
        echo "<br>"; 
        echo $queryHttp . "属性是:" . $row['http_info'] . "<br>";
        echo $queryHttp . "意义是:" . $row['http_body'] . "<br>";
        
      
    } else {
        echo '<p>没有找到匹配结果或无此字段</p>';
        return false;
    }
} 
   
//判断数据添加表单
if(isset($_POST['Http_add'])){
    $key_name = ucwords(strtolower($_POST['key_name']));
    $key_team = ucwords(strtolower($_POST['key_team']));
    $key_mess = ucwords(strtolower($_POST['key_mess']));
    $http_id = "select http_id from info_search;";
    $now_id = mysqli_num_rows(mysqli_query($conn, $http_id));
    $new_id = $now_id + 1;

    $add_http = "INSERT INTO info_search VALUES ('$key_name','$key_team','$key_mess','$new_id');";
  
    if (mysqli_query($conn, $add_http)) {
       
        echo "<script>alert('注册成功')</script>";
        mysqli_refresh($conn, MYSQLI_REFRESH_TABLES);
        mysqli_close($conn);
        return true;
    } else {
      
        echo "<script language='javascript'>alert('字段注册失败')</script>";
        return false;
    }
}
$conn->close();
?>

字段添加

JS判空:只有三条内容都填写了才能添加成功。

//表单JS判断
function checkForm(form){
    if(form.key_name.value == "" || form.key_name.value ==null){
        alert('请输入添加字段名');
        form.key_name.focus();
        return false;
    }
    else if(form.key_team.value == "" || form.key_team.value ==null){
        alert('请输入字段属性');
        form.key_team.focus();
        return false;
    }
    else if(form.key_mess.value == "" || form.key_mess.value == null){
        alert('请填写字段含义');
        form.key_mess.focus();
       return false;

    }
    else{
        return true;
    }
}

已知问题:

字段添加页面,返回button无效。

v1.1将解决!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2228908.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

无人机之集群控制方法篇

无人机的集群控制方法涉及多个技术和策略&#xff0c;以确保多架无人机能够协同、高效地执行任务。以下是一些主要的无人机集群控制方法&#xff1a; 一、编队控制方法 领航-跟随法&#xff08;Leader-Follower&#xff09; 通过设定一架无人机作为领航者&#xff08;长机&am…

jenkins搭建及流水线配置

1.安装docker curl https://mirrors.aliyun.com/repo/Centos-7.repo >> CentOS-Base-Aliyun.repomv CentOS-Base-Aliyun.repo /etc/yum.repos.d/yum -y install yum-utils device-mapper-persistent-data lvm2yum-config-manager --add-repo http://mirrors.aliyun.com/…

Python+Playwright(Nuitka、Pyinstaller打包)

安装驱动 playwright install # 这个安装所有默认的浏览器 playwright install chromium # 一般只装这一个浏览器就够了&#xff0c;要是装另外两个浏览器&#xff0c;后面的参数名可以修改查看各个驱动的位置 playwright install --dry-run创建打包目录 在运行的包里面…

一篇文章理解CSS垂直布局方法

方法1&#xff1a;align-content: center 在 2024 年的 CSS 原生属性中允许使用 1 个 CSS 属性 align-content: center进行垂直居中。 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta name"viewpo…

《鸿蒙生态:机遇与挑战并行,创新引领未来》

《鸿蒙生态&#xff1a;机遇与挑战并行&#xff0c;创新引领未来》 一、鸿蒙生态崛起&#xff1a;机遇涌现&#xff08;一&#xff09;技术创新引领潮流&#xff08;二&#xff09;市场潜力巨大 二、抓住机遇的策略&#xff08;一&#xff09;开发者的黄金时代&#xff08;二&a…

Fakelocation 步道乐跑(Root真机篇)

前言:需要 Fakelocation&#xff0c;真机Root,步道乐跑&#xff0c;Dia&#xff0c;MT管理器系统需求 Fakelocation | MT管理器 | Dia | 环境模块 任务一 真机Root&#xff08;德尔塔&#xff0c;过momo&#xff0c;刷环境模块&#xff09; 任务二 前往Dia查看包名&#xff08…

docker离线安装达梦数据库

文章目录 下载达梦数据库docker镜像上传DM8镜像文件将DM8镜像导入到本地docker镜像仓库中查看本地docker镜像仓库是否存在DM8镜像带参数启动DM8docker启动DM8默认用户名/密码 下载达梦数据库docker镜像 达梦数据库官网 https://www.dameng.com/ 点击下载中心&#xff0c;选择D…

SD教程 ControlNet之OpenPose

ControlNet 是神经网络结构&#xff0c;用于控制预训练的大型扩散模型&#xff0c;以支持额外的输入条件。ControlNet 以端到端的方式学习任务特定的条件&#xff0c;即使训练数据集很小&#xff08;< 50k&#xff09;&#xff0c;学习也是稳健的。此外&#xff0c;训练一个…

HarmonyOS:自定义组件冻结功能

一、简介 自定义组件冻结功能专为优化复杂UI页面的性能而设计&#xff0c;尤其适用于包含多个页面栈、长列表或宫格布局的场景。在这些情况下&#xff0c;当状态变量绑定了多个UI组件&#xff0c;其变化可能触发大量UI组件的刷新&#xff0c;进而导致界面卡顿和响应延迟。为了提…

智慧工地:标准化、信息化、数字化与智能化的融合与实践

智慧工地&#xff0c;作为智慧地球理念在工程领域的具体实践&#xff0c;代表了一种全新的工程全生命周期管理方式。 智慧工地是建筑行业数字化转型的重要方向&#xff0c;它通过应用物联网、大数据、云计算、人工智能等新兴技术&#xff0c;对建筑工地进行数字化、信息化、智…

网络编程 TCP编程 Linux环境 C语言实现

所有基于数据传输通信的程序&#xff0c;都会被分成两种角色&#xff1a; 1. 服务端&#xff1a;又称为服务器 server 提供一种通信服务的进程 基本工作过程是&#xff1a;1> 接收请求数据 2> 处理请求数据 3> 发送处理结果 2. 客户端&#xff1a;client 使用一种通…

Docker 安装HomeAssistant智能家居系统

HomeAssistant 介绍 简介 Home Assistant是一个自由开源的智能家居自动化平台&#xff0c;它可以控制并监测各种智能家居设备、传感器和其他物联网设备。Home Assistant可以运行在树莓派、NVIDIA Jetson Nano等低功耗设备上&#xff0c;使用户可以快速搭建自己的智能家居系统。…

vim的使用方法

常见的命令可参考&#xff1a; Linux vi/vim | 菜鸟教程​www.runoob.com/linux/linux-vim.html​编辑https://link.zhihu.com/?targethttps%3A//www.runoob.com/linux/linux-vim.html 1. vim的工作模式 vi/vim 共分为三种模式&#xff0c;命令模式、编辑输入模式和末行&am…

java jsoup解析豆瓣电影数据html实战教程

什么是Jsoup Jsoup 是一个开源 Java 库&#xff0c;它提供了一个直观的 API&#xff0c;可使用 DOM API 方法获取 URL 并提取和处理数据。 作为一个多功能库&#xff0c;Jsoup 支持 CSS 选择器和 XPath&#xff0c;它们是识别和选择 HTML 文档中元素的强大选项。 此外&#xf…

CSS 复习

复杂选择器可以通过&#xff08;id的个数&#xff0c;class的个数&#xff0c;标签的个数&#xff09;的形式&#xff0c;计算权重。 如果我们需要将某个选择器的某条属性提升权重&#xff0c;可以在属性后面写!important&#xff1b;注意!importent要写在;前面 很多公司不允许…

计算机毕业设计django+大模型租房推荐系统 租房可视化 租房大屏可视化 租房爬虫 spark 58同城租房爬虫 房源推荐系统

开题报告&#xff1a;《Django大模型租房推荐系统》 一、研究背景与意义 随着城市化进程的加快&#xff0c;房屋租赁市场日益繁荣。然而&#xff0c;传统的房屋租赁方式存在信息不对称、交易流程繁琐等问题&#xff0c;给租户和房主带来了诸多不便。因此&#xff0c;开发一套…

LLM之RAG实战(四十七)| GraphRAG:使用知识图谱改进 RAG 检索策略

在 Retrieval Augmented Generation &#xff08;RAG&#xff09; 技术中&#xff0c;检索是直接影响生成输出质量的关键步骤。然而&#xff0c;基础 RAG 中的向量检索技术通常不足以满足所有情况。例如&#xff0c;传统的检索方法在处理大型私有文档存储库时往往表现不佳。许多…

希亦内衣洗衣机Pro:18项核心数据硬核黑科技,爆发10倍洁净力!

随着人们卫生意识越来越强&#xff0c;小型洗衣机成为热门家电&#xff0c;尤其是对于女士和有婴儿的家庭。近日&#xff0c;洗护领域的佼佼者希亦正式推出了最新款的内衣洗衣机——希亦ACE Pro&#xff0c;为追求精致生活的人们&#xff0c;带来了新的选择&#xff0c;能提供更…

零基础学西班牙语,柯桥专业小语种培训泓畅学校

No te comas el coco, seguro que te ha salido bien la entrevista. Ya te llamarn. 别瞎想了&#xff01;我保证你的面试很顺利。他们会给你打电话的。 这里的椰子是"头"的比喻。在西班牙的口语中&#xff0c;我们也可以听到其他同义表达&#xff0c;比如&#x…

【python】OpenCV—WaterShed Algorithm

文章目录 1、功能描述2、代码实现3、完整代码4、效果展示5、涉及到的库函数5.1、cv2.pyrMeanShiftFiltering5.2、cv2.morphologyEx5.3、cv2.distanceTransform5.4、cv2.normalize5.5、cv2.watershed 6、更多例子7、参考 1、功能描述 基于分水岭算法对图片进行分割 分水岭分割…