原生php实现自定义表单(基础类型)(特色:防止重复提交 防止输出空数据等等功能)

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 原生php实现自定义表单(基础类型)(特色:防止重复提交 防止输出空数据等等功能)
-- phpMyAdmin SQL Dump
-- version 4.5.1
-- http://www.phpmyadmin.net
--
-- Host: 127.0.0.1
-- Generation Time: 2022-03-31 14:41:20
-- 服务器版本: 10.1.13-MariaDB
-- PHP Version: 5.6.21
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8mb4 */;
--
-- Database: `a`
--
-- --------------------------------------------------------
--
-- 表的结构 `form`
--
CREATE TABLE `form` (
  `id` int(11) NOT NULL,
  `type` varchar(255) COLLATE utf8_vietnamese_ci NOT NULL COMMENT '类型'
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_vietnamese_ci;
--
-- Indexes for dumped tables
--
--
-- Indexes for table `form`
--
ALTER TABLE `form`
  ADD PRIMARY KEY (`id`);
--
-- 在导出的表使用AUTO_INCREMENT
--
--
-- 使用表AUTO_INCREMENT `form`
--
ALTER TABLE `form`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=65;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;

cyg.php

<?php
SESSION_START(); 
$_SESSION['is_submit'] = 0;
header("Content-type:text/html;charset=utf-8");
?>
<style>
body{
background:#ccc;
}
.blue
{
    background:rgba(255,123,169);
    width: 260px;
    height:auto;
}
</style>
    <form action="cyg1.php" method="POST"> 
    您喜欢的水果?<br /><br /> 
    <label><input name="text" type="checkbox" value="text" />文本类型</label> <br>
    <label><input name="color" type="checkbox" value="color" />颜色类型</label> <br>
    <label><input name="date" type="checkbox" value="date" />日期类型</label> <br>
    <label><input name="password" type="checkbox" value="password" />密码类型</label> <br>
    <input name="button" type="checkbox" value="button"/>按钮类型</label> <br>
    <input name="email" type="checkbox" value="email" />邮箱类型</label> <br>
    <input name="number" type="checkbox" value="number" />数字类型</label> 
    <input type="submit" value="提交">
    </form> 

cyg1.php

<?php
SESSION_START(); //防止表单重复提交
if (isset($_POST['submit'])) { 
    if ($_SESSION['is_submit'] == '0') { 
        $_SESSION['is_submit'] = '1'; 
        echo "代码块,要做的事,代码...<a οnclick='history.go(-1);' href='javascript:void(0)'>返回</a>"; 
    } else { 
        echo "请不用重复提交<a href='index.php'>PHP+SESSION防止表单重复提交</a>"; 
    } 
}
$link=mysqli_connect('localhost','root','','a');
//然后是指定php链接数据库的字符集
mysqli_set_charset($link,'utf8');
$arr=[$_POST['text'],$_POST['color'],$_POST['date'],$_POST['password'],$_POST['button'],$_POST['email'],$_POST['number']];
foreach ($arr as $key => $value) {
  if(empty($value))
  {
  unset( $arr[$key] );   
  }
}
foreach ($arr as $key => $value) 
{
$sql = "INSERT INTO form(type)
VALUES ('{$value}')";
mysqli_query($link,$sql);
}
$sql="select type from form";
$result=mysqli_query($link,$sql);//运行sql
echo "<form>";
      while ($row=mysqli_fetch_assoc($result)) {
        echo $row['type']."类型:"."<input type='$row[type]' />";
    }
echo "</form>";



相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
3天前
|
移动开发 小程序 前端开发
使用php开发圈子系统特点,如何获取圈子系统源码,社交圈子运营以及圈子系统的功能特点,圈子系统,允许二开,免费源码,APP 小程序 H5
开发一个圈子系统(也称为社交网络或社群系统)可以是一个复杂但非常有趣的项目。以下是一些关键特点和步骤,帮助你理解如何开发、获取源码以及运营一个圈子系统。
43 3
|
29天前
|
数据采集 JSON JavaScript
如何通过PHP爬虫模拟表单提交,抓取隐藏数据
本文介绍了如何使用PHP模拟表单提交并结合代理IP技术抓取京东商品的实时名称和价格,特别是在电商大促期间的数据采集需求。通过cURL发送POST请求,设置User-Agent和Cookie,使用代理IP绕过限制,解析返回数据,展示了完整代码示例。
如何通过PHP爬虫模拟表单提交,抓取隐藏数据
|
1月前
|
缓存 NoSQL PHP
Redis作为PHP缓存解决方案的优势、实现方式及注意事项。Redis凭借其高性能、丰富的数据结构、数据持久化和分布式支持等特点,在提升应用响应速度和处理能力方面表现突出
本文深入探讨了Redis作为PHP缓存解决方案的优势、实现方式及注意事项。Redis凭借其高性能、丰富的数据结构、数据持久化和分布式支持等特点,在提升应用响应速度和处理能力方面表现突出。文章还介绍了Redis在页面缓存、数据缓存和会话缓存等应用场景中的使用,并强调了缓存数据一致性、过期时间设置、容量控制和安全问题的重要性。
43 5
|
1月前
|
XML 前端开发 JavaScript
PHP与Ajax在Web开发中的交互技术。PHP作为服务器端脚本语言,处理数据和业务逻辑
本文深入探讨了PHP与Ajax在Web开发中的交互技术。PHP作为服务器端脚本语言,处理数据和业务逻辑;Ajax则通过异步请求实现页面无刷新更新。文中详细介绍了两者的工作原理、数据传输格式选择、具体实现方法及实际应用案例,如实时数据更新、表单验证与提交、动态加载内容等。同时,针对跨域问题、数据安全与性能优化提出了建议。总结指出,PHP与Ajax的结合能显著提升Web应用的效率和用户体验。
48 3
|
1月前
|
存储 SQL 数据处理
PHP中如何高效地处理大规模数据的排序?
在PHP中处理大规模数据排序时,选择合适的方法至关重要。对于内存内可以处理的数据,可以直接使用PHP内置排序函数;对于超出内存限制的数据,可以考虑分块处理、外部排序或利用数据库的排序功能。根据具体应用场景和数据规模,选择最佳的排序策略,确保排序操作高效且稳定。
25 2
|
PHP
PHP:变量类型获取和数据类型转换
PHP:变量类型获取和数据类型转换
110 0
|
存储 自然语言处理 JavaScript
PHP变量和数据类型
1.静态类型语言,比如:C/Java等,在静态语言类型中,类型的检查是在编译期(compile-time)确定的。 2. 动态语言类型,比如:PHP,python等各种脚本语言,这类语言中的类型是在运行时确定的。 3. 无类型语言,比如:汇编语言,汇编语言操作的是底层存储,他们对类型毫无感知。
PHP变量和数据类型
|
安全 PHP Shell
PHP变量的定义与相应的数据类型
在PHP中,变量的定义和C语言定义的方法是类似的,但是在PHP中,变量使用起来就非常灵活,一个变量既可以做整型,也可以是浮点型,也可以是字符串或者字符类型,通通只要在变量名前面加一个$然后加上你的变量名,再初始化,那么编译器在编译的时候就可以将对应的转换成为相应的数据类型,这点是跟bash shell 很像的,我们可以来看看: php中的变量 变量: 值存储在内存中 有名称的信息。
988 0
|
存储 PHP 索引
PHP变量和数据类型
原文:PHP变量和数据类型 编程语言可以分为三大类 1. 静态类型语言,比如:C/Java等,在静态语言类型中,类型的检查是在编译期(compile-time)确定的。 2. 动态语言类型,比如:PHP,python等各种脚本语言,这类语言中的类型是在运行时确定的。
1433 0