PHP 超全局变量
$_GET
和
$_POST
用于收集表单数据(form-data)。
-
$_GET 是通过 URL 参数传递到当前脚本的变量数组。
-
$_POST 是通过 HTTP POST 传递到当前脚本的变量数组。
有一点很重要的事情值得注意,当处理 HTML 表单时,PHP 能把来自 HTML 页面中的表单元素自动变成可供 PHP 脚本使用。
预定义的 $_GET 变量用于收集来自 method="get" 的表单中的值。
从带有 GET 方法的表单发送的信息,对任何人都是可见的(会显示在浏览器的地址栏),并且对发送信息的量也有限制。
例:form.html 文件代码
<
form
action
="welcome.php"
method
="get"
>
名字:
<
input
type
="text"
name
="fname"
>
年龄:
<
input
type
="text"
name
="age"
>
<
input
type
="submit"
value
="提交"
>
</
form
>
</
body
>
</
html
>
当用户点击 "Submit" 按钮时,发送到服务器的 URL 如下所示:
http://www.runoob.com/welcome.php?fname=Runoob
&
age=3
"welcome.php" 文件现在可以通过 $_GET 变量来收集表单数据了(请注意,表单域的
名称
会
自动成为
$_GET
数组中的键
):
欢迎 <?php echo $_GET["fname"]; ?>!<br>
你的年龄是 <?php echo $_GET["age"]; ?> 岁。
-
何时使用 method="get"?
在 HTML 表单中使用
method="get"
时,所有的
变量名和值都会显示在 URL
中。
注释:
所以在发送密码或其他敏感信息时,不应该使用这个方法!
不安全
然而,正因为变量显示在 URL 中,因此可以在收藏夹中收藏该页面。在某些情况下,这是很有用的。
注释:
HTTP
GET
方法
不适合大型的变量值
。它的值是
不能超过 2000
个字符的。
-
$_POST 变量
预定义的 $_POST 变量用于收集来自 method="post" 的表单中的值。
从带有 POST 方法的表单发送的信息,对任何人都是不可见的(不会显示在浏览器的地址栏),并且对发送信息的量也没有限制。
注释:
然而,默认情况下,POST 方法的发送信息的量最大值为 8 MB(可通过设置 php.ini 文件中的 post_max_size 进行更改)。
例:
form.html
文件代码
<
form
action
="welcome.php"
method
="post"
>
名字:
<
input
type
="text"
name
="fname"
>
年龄:
<
input
type
="text"
name
="age"
>
<
input
type
="submit"
value
="提交"
>
</
form
>
</
body
>
</
html
>
当用户点击 "提交" 按钮时,URL 类似如下所示:
http://www.runoob.com/welcome.php
"welcome.php" 文件现在可以通过 $_POST 变量来收集表单数据了(请注意,表单域的名称会自动成为 $_POST 数组中的键):
欢迎 <?php echo $_POST["fname"]; ?>!<br>
你的年龄是 <?php echo $_POST["age"]; ?> 岁。
通过
POST
方法从表单发送的信息对
其他人是不可见
的(
安全
)(所有名称/值会被
嵌入 HTTP 请求的主体
中),并且对所发送信息的
数量也无限制
。
此外 POST 支持
高阶功能
,比如在向服务器上传文件时进行 multi-part 二进制输入。
不过,由于变
量未显示在 URL
中,也就
无法将页面添加到书签
。
大多数开发者偏爱 POST 来发送表单数据。
我们要做的第一件事是通过 PHP 的 htmlspecialchars() 函数传递所有变量。
在我们使用 htmlspecialchars() 函数后,如果用户试图在文本字段中提交以下内容:
<script>location.href('http://www.hacked.com')</script>
- 代码不会执行,因为会被保存为转义代码,就像这样:
<script>location.href('http://www.hacked.com')</script>
现在这条代码显示在页面上或 e-mail 中是安全的。
在用户提交该表单时,我们还要做两件事:
-
(通过 PHP trim() 函数)去除用户输入数据中不必要的字符(多余的空格、制表符、换行)
-
(通过 PHP stripslashes() 函数)删除用户输入数据中的反斜杠(\)
接下来我们创建一个检查函数(相比一遍遍地写代码,这样效率更好)。
我们把函数命名为 test_input()。
现在,我们能够通过 test_input() 函数检查每个 $_POST 变量,脚本是这样的:
$name
=
$email
=
$gender
=
$comment
=
$website
= ""
;
if
(
$_SERVER
["REQUEST_METHOD"] == "POST"
) {
$name
= test_input(
$_POST
["name"
]);
$email
= test_input(
$_POST
["email"
]);
$website
= test_input(
$_POST
["website"
]);
$comment
= test_input(
$_POST
["comment"
]);
$gender
= test_input(
$_POST
["gender"
]);
function
test_input(
$data
) {
$data
=
trim
(
$data
);
$data
=
stripslashes
(
$data
);
$data
=
htmlspecialchars
(
$data
);
return
$data
;
最近做项目,后台已经做好了但是前台的模版还没下来,所以测试比较麻烦。于是写了个简单的脚本通过curl的
方式
模拟
表单
提交
。可以通过数组和字符串两种
方式
提交
数据。
复制代码 代码如下:<?
php
/** * Class SimulantForm 模拟
表单
*/class SimulantForm { /** * @var 要
提交
的页面url */ protected $_url;
/** * @var resource curl_init()返回的curl句柄 */ protected $_ch;
/** * 初始化一个
表单
PHP
过滤
提交
表单
的html代码里可能有被利用引入外部危险内容的代码。例如,有些时候用户
提交
表单
中含有html内容,但这可能造成显示页面布局混乱,需要过滤掉。
复制代码 代码如下:
//get
post
data
function
Post
Get($str,$
post
=0)
empty($str)?die(‘para is null’.$str.’!’):”;
if( $
post
)
if( get_magic_quotes_gpc() )
return htmlspecialchars(isset($_
POST
[$str])?
php
可以单独创建 .
php
文件,也可以在 HTML 中添加
php
标记后进行书写.若不显示汉字,需在标记内不添加: header("Content-type:text/html;charset=utf-8");一.
PHP
的标记或者声明后便可以在其中编写
php
代码
php
还有其他标记
方式
, 不作了解.二.
php
注释注释
方式
与 JS 类似.三. 变量 与 常量1. 变量 ...
通常情况下用户使用浏览器网页
表单
向服务器
post
提交
数据,我们使用
PHP
的$_
POST
接收用户
POST
到服务器的数据,并进行适当的处理。但有些情况下,如用户使用客户端软件向服务端
php
程序发送
post
数据,而不能用$_
POST
来识别,那又该如何处理呢?我们介绍
php
接受
post
数据的三种
方式
:1.$_
POST
方式
接收数据$_
POST
方式
是通过 HTTP
POST
方法传递的变量组成的数组,是自动全...
PHP
表单
提交
有两种
方式
,分别是:1、GET
方式
,GET
提交
方式
在地址上可以看到参数,不安全,
提交
的数据一般不超过255个字节;2、
POST
方式
,
POST
提交
方式
在地址栏上看不到参数,安全,
提交
数据的大小取决于服务器。
PHP
表单
提交
有两种
方式
:GET
方式
和
POST
方式
;
PHP
后台使用全局变量$_
POST
;和$_GET;来获取
提交
的数据。代码:简单
表单
提交
姓名 邮箱 GET
POST
表单
已
提交
$nam...
浏览器客户端可以通过两种
方式
将信息发送到Web服务器。GET方法
POST
方法在浏览器发送信息之前,它使用称为URL编码的方案对其进行编码。在这个方案中,名称/值对用等号连接,不同的对用&号分开。如下 –name=maxsu&key=value&key2=value2空格将被删除并使用+字符替换,其他非字母数字字符被替换为十六进制值。信息编码后,发送到服务器。1. GET方法...
关于
PHP
上传文件的函数类库,网上有许多封装很完善,建议大家直接拿来用就可以。本文章只是说下关于上传原理和简单的上传操作,老鸟就无视了哈^_^~上传文件分为两个部分,HTML显示部分和
PHP
处理部分,HTML部分主要是让用户来选择所要上传的文件,然后通过
PHP
中的$_FILES,我们可以把文件上传到服务器的指定目录。还有一些安全性判断,比如:服务端限制只能接收图片类型的文件,而防止客户端将病毒文件...
我们一般通过 submit
提交
表单
时,会在乎在
表单
中填写的一大堆数据是否
提交
到后台。这里就需要做个判断,使用
php
代码来判断
表单
数据是否被
提交
一般采用如下的形式:大理石平台保养12345if(isset($_
POST
['submit'])) {echo " 数据被
提交
过来了";}?>说明:isset -- 检测变量是否设置 ,返回值有如下的几种形式。若变量不存在则返回 FALSE若变量存在...
* 模拟
表单
提交
* @param $url 字符串/必填 例子:https://xxxxx/singleQueryRequest.do
* @param $data array/必填
* @return 字符串
function
post
Curl($url,$data)
$headers = array('Content-Type: applicat...
什么是
PHP
?
PHP
,一个嵌套的缩写名称,是英文超级文本预处理语(
PHP
:Hypertext Preprocessor)的缩写。
PHP
是一种 HTML 内嵌式的语言,
PHP
与微软的ASP颇有几分相似,都...