PHP超级全局变量 | 全栈: [表单post提交数据(姓名,密码,文件)]

超级全局变量

特点:预定义变量无需创建

作用:用于存储来自执行环境的特殊信息,如HTTP请求数据、服务器信息、会话数据

常见类别

  1. $_GET

    • 用于收集表单数据,当表单的methodget时,数据会通过URL传递。例如,index.php?name=value中的namevalue可以通过$_GET['name']访问。
  2. $_POST

    • 类似于$_GET,但用于收集表单数据,当表单的methodpost时,数据会通过HTTP请求体传递。
  3. $_REQUEST

    • 包含了$_GET$_POST$_COOKIE的集合。它可以用于同时访问这三种类型的所有数据,但出于安全考虑,不建议在新代码中使用,因为它可能导致意料之外的数据访问。
  4. $_SESSION

    • 用于会话管理。会话是用户与服务器交互的一个阶段,服务器可以使用会话存储关于用户的信息。
  5. $_COOKIE

    • 包含了由客户端发送的cookie信息。
  6. $_FILES

    • 包含了通过表单上传的文件的信息。

实例

前端代码用于提交表单

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head>
<body><form action="04.php" method="post" enctype="multipart/form-data"><!-- username -->用户名:<input type="text" name="username"><br><!-- 密码 -->密码:<input type="password" name="passwd"><br><!-- 上传文件 -->文件:<input type="file" name="file"><br><!-- 提交按钮 --><input type="submit" value="提交"></form>
</body>
</html>

form:表单标签,用于创建表单

表单属性

action:用于指定表单提交url

method:指定提交表单的方式

enctype:指定表单数据应该如何编码,multipart/form-data":文件上传使用的编码类型

表单控件

  1. 用户名输入框

    <input type="text" name="username">:创建一个文本输入框,允许用户输入用户名。name属性指定了数据在提交到服务器时的键名,即在服务器端可以通过$_POST['username']来获取这个输入框的值。
  2. 密码输入框

    <input type="password" name="passwd">:创建一个密码输入框,用户输入的内容会被掩码处理,以防止旁人轻易看到。name属性设置为passwd,这样服务器可以通过$_POST['passwd']获取密码。
  3. 文件上传控件

    <input type="file" name="file">:允许用户从本地文件系统中选择一个文件进行上传。name属性指定了文件在表单数据中的键名,服务器端可以通过$_FILES['file']来获取有关上传文件的信息。
  4. 提交按钮

    <input type="submit" value="提交">:创建一个提交按钮,当用户完成所有输入后,点击这个按钮会触发表单的提交。

表单提交过程

当用户填写完用户名、密码,选择好要上传的文件,并点击“提交”按钮后,

浏览器会将表单中的数据打包成一个multipart/form-data格式的请求体,并发送一个POST请求到04.php

在服务器端的04.php文件中,可以使用PHP的超级全局变量$_POST来获取用户名和密码,使用$_FILES来处理上传的文件。

使用超级全局变量获取表单提交内容

<?phpheader("content-type:text/html;charset=utf8");//查看用户通过post传参提交的表单数据var_dump($_POST);echo'<br>';//array(2) { ["username"]=> string(3) "123" ["passwd"]=> string(3) "123" }//提取上传表单中的单个数据var_dump($_POST['username']);echo "<br>";//request可同时接收get和post传参var_dump($_REQUEST);echo '<br> . <hr>';//查看表单上传文件var_dump($_FILES);/*array(1) { ["file"]=> array(5) { ["name"]=> string(7) "msf.png" ["type"]=> string(9) "image/png" ["tmp_name"]=> string(53) "C:\Users\Administrator\AppData\Local\Temp\php4ED5.tmp" ["error"]=> int(0) ["size"]=> int(48200) } }*/?>

查看表单提交内容

var_dump($_post);

array(2) { ["username"]=> string(3) "123" ["passwd"]=> string(3) "123" }

前端表单提交内容为关联数组形式,键为表单控件的name属性值,值为用户输入内容

提取上传表单中的单个数据

var_dump($_POST['username']);

通过name属性值为username的键值对,获取具体值

request可同时接收get和post传参

var_dump($_REQUEST);

不推荐使用存在安全隐患

查看表单上传文件

var_dump($_FILES);

数组内嵌套数组,

    array(1) {

        ["file"]=> array(5) {

        表单控件file的name属性值,用于区分多个控件 

            ["name"]=> string(7) "msf.png"

            文件名为msf.png

            ["type"]=> string(9) "image/png"

           文件类型为(image/png)

            ["tmp_name"]=> string(53) "C:\Users\Administrator\AppData\Local\Temp\php4ED5.tmp"

            文件地址

            ["error"]=> int(0)

            文件上传错误次数

            ["size"]=> int(48200)

            文件大小

        }

    }

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

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

相关文章

函数编辑器调研及设计开发

前言&#xff1a;在产品研发中需要一款可嵌入web开发的代码及函数编辑器&#xff0c;本文从功能&#xff0c;扩展&#xff0c;外观/交互&#xff0c;维护/社区&#xff0c;兼容性&#xff0c;开源与否等方面考虑&#xff0c;进行对比筛选 1、编辑器统计数据 市面上编辑器有很…

Windows电脑使用Docker安装AList网盘神器并配置公网地址打造私人云存储空间

文章目录 前言1. 使用Docker本地部署Alist1.1 本地部署 Alist1.2 访问并设置Alist1.3 在管理界面添加存储 2. 安装cpolar内网穿透3. 固定Alist公网地址 前言 本文和大家分享如何在Windows系统使用Docker本地部署Alist全平台网盘神器&#xff0c;然后结合cpolar内网穿透工具实现…

全面解析:分布式光伏系统的概念、优缺点和应用

光伏发电领域中&#xff0c;分布式和集中式光伏是两种主要应用模式。集中式电站占地面积大&#xff0c;受国家土地政策制约严重&#xff0c;且我国土地资源又相当紧缺&#xff0c;而分布式光伏电站因接网便利、场地灵活等特点&#xff0c;近年来发展迅速&#xff0c;越来越多的…

P3853 [TJOI2007] 路标设置

题目描述: 题目背景 B 市和 T 市之间有一条长长的高速公路&#xff0c;这条公路的某些地方设有路标&#xff0c;但是大家都感觉路标设得太少了&#xff0c;相邻两个路标之间往往隔着相当长的一段距离。为了便于研究这个问题&#xff0c;我们把公路上相邻路标的最大距离定义为…

Linux sigfillset

#include <stdio.h> #include <unistd.h> #include <stdlib.h> #include <signal.h> /* * 是标准C库中用于操作自定义信号集的一个函数 */ #if 0 # 用于初始化一个自定义信号集&#xff0c;将其所有信号都填充满&#xff0c;也就是将信号集中的所…

Windows安装多版本MySQL

5.7 - 配置 my.ini [client] port 3307[mysql] default-character-set utf8mb4[mysqld] port 3307 server_id 1 character-set-server utf8mb4basedir "E://MySQL/mysql5.7" datadir "E://MySQL/mysql5.7/data"# 将所有表名转换为小写字母 lower_c…

食品安全群众满意度的概念

本文由群狼调研&#xff08;湖南酒店神秘顾客&#xff09;出品&#xff0c;欢迎转载&#xff0c;请注明出处。食品安全群众满意度是指一国或地区居民对其所消费的食品安全状况的整体满意程度。食品安全群众满意度调查通常是通过对一定数量的居民进行问卷调查或采访&#xff0c;…

USE INDEX/FORCE INDEX/IGNORE INDEX使用的好,sql查询速度提升一倍

前言 在实际工作中有些时候数据库的执行就很奇怪&#xff0c;要么不用索引&#xff0c;要么用了错误的索引&#xff0c;那么在这种情况下你就可以考虑使用这些索引提示来纠正数据库的行为。 早期我们有一个表结构定义&#xff0c;上面有 A、B 两个索引。原本按照预期&#x…

美易官方:GPT-4o重磅演示后奥特曼发声

GPT-4的震撼演示犹如一道璀璨的星光&#xff0c;划破天际&#xff0c;照亮了科技领域的每一个角落。在这光芒四射的时刻&#xff0c;奥特曼&#xff0c;这位科技领域的先驱者&#xff0c;也忍不住发声&#xff0c;为我们描绘了一个激动人心的未来画卷。 虽然并未在OpenAI周一的…

RabbitMQ 面试题(三)

1. 简述RabbitMQ的Simple模式 &#xff1f; RabbitMQ的Simple模式是消息队列的基础模式&#xff0c;由一个生产者、一个队列和一个消费者组成。在这个模式下&#xff0c;生产者通过默认交换器将消息发送到队列中&#xff0c;而消费者则从该队列中取出消息进行处理。 Simple模…

SCQA表达模型:让你的表达更具吸引力(2)

一、引言 站在巨人的肩膀上&#xff0c;思维模型是前人智慧结晶&#xff0c;当我们面对相似挑战时&#xff0c;借鉴与模仿这些模型&#xff0c;往往能为我们带来意想不到的结果。 在信息爆炸的时代&#xff0c;如何高效、准确地传达信息成为了人们关注的焦点。SCQA表达模型作为…

网络网络层之(5)IPv6协议

网络网络层之(5)IPv6协议 Author: Once Day Date: 2024年5月12日 一位热衷于Linux学习和开发的菜鸟&#xff0c;试图谱写一场冒险之旅&#xff0c;也许终点只是一场白日梦… 漫漫长路&#xff0c;有人对你微笑过嘛… 全系列文档可参考专栏&#xff1a;通信网络技术_Once-Day…

Kotlin标准函数和静态方法

标准函数 with 第一个参数是一个类型或者对象&#xff0c;第二个参数是lambda表达式。其中第一个参数为第二个参数提供上下文&#xff0c;返回值是最后一行。案例代码&#xff1a; fun main() {val list mutableListOf<String>()var ret with(list) {add("1&q…

「JavaEE」多线程案例分析2:实现定时器

&#x1f387;个人主页&#xff1a;Ice_Sugar_7 &#x1f387;所属专栏&#xff1a;JavaEE &#x1f387;欢迎点赞收藏加关注哦&#xff01; 实现定时器 &#x1f349;简介&#x1f349;模拟实现定时器 &#x1f349;简介 定时器类似一个闹钟&#xff0c;时间到了之后就会执行…

重生我是嵌入式大能之串口调试UART

什么是串口 串口是一种在数据通讯中广泛使用的通讯接口&#xff0c;通常我们叫做UART (通用异步收发传输器Universal Asynchronous Receiver/Transmitter)&#xff0c;其具有数据传输速度稳定、可靠性高、适用范围广等优点。在嵌入式系统中&#xff0c;串口常用于与外部设备进…

MTATLAB--一元线性回归分析

一文让你彻底搞懂最小二乘法&#xff08;超详细推导&#xff09; 在进行一元线性回归分析时&#xff0c;使用最小二乘法进行解题&#xff0c;关于最小二乘法具体看上述文章。 数据文件在文章顶部可见&#xff0c;将第一列数据作为自变量x&#xff0c;第二列数据作为应变量y。建…

3款常用的可视化工具Matplotlib、Seaborn和Pandas

大家好&#xff0c;Seaborn 是基于 Matplotlib 的扩展库&#xff0c;Pandas 的可视化功能同样也依赖于 Matplotlib。尽管二者都使用相同的底层图形库&#xff0c;但绘制图表的方法却各有千秋。本文将介绍各种柱状图的绘制&#xff0c;比较 Matplotlib、Pandas 和 Seaborn 在数据…

手机号码的正则表达式

手机号码的正则表达式会根据不同的国家/地区有所不同&#xff0c;因为每个国家/地区都有自己特定的手机号码格式。但是&#xff0c;我可以为你提供一个通用的正则表达式模板&#xff0c;并给出一些具体国家/地区的例子。 通用模板 一个基本的手机号码正则表达式模板可能如下所…

vulhub靶机struts2环境下的s2-032(CVE-2016-3081)(远程命令执行漏洞)

影响范围 Struts 2.3.19至2.3.20.2、2.3.21至2.3.24.1和2.3.25至2.3.28 当用户提交表单数据并验证失败时&#xff0c;后端会将用户之前提交的参数值使用OGNL表达式%{value}进行解析&#xff0c;然后重新填充到对应的表单数据中。 漏洞搭建 没有特殊要求&#xff0c;请看 (3…

autoxjs的介绍

AutoX.js 是一个基于 JavaScript 的自动化工具&#xff0c;用于在 Android 平台上创建自动化脚本。以下是关于 AutoX.js 的一些关键介绍&#xff1a; 1. **无需Root权限**&#xff1a;AutoX.js 可以在没有 Root 权限的设备上运行&#xff0c;利用 Android 的无障碍服务来实现自…