额外的$_POST[]变量对服务器性能的影响


The effect of additional $_POST[] variables in server performance

请看下面的简单代码。

<?php
$a = $_POST['a'];
$b = $_POST['b'];
$c = $_POST['c'];
$d = $_POST['d'];
$e = $_POST['e'];
......  ?> 

html文件中,我们只有以下字段:

<form action="file.php" method="POST">
<p>A</p> <input type="text" name="a">
<p>B</p> <input type="text" name="b">
</form>

上面的html代码我们只有两个字段,但在php文件中,我们有几个$_POST[]变量和全局变量比html代码中的字段多。现在我想知道额外的$_POST[]变量值。

值是否为""(空字符串)?web服务器崩溃了吗?也许我的问题很简单,但对我来说却模棱两可。

要了解任何变量的状态,请尝试var_dump:

var_dump($_POST['d']);

首先要检查的是:var_dump($_POST)

    $_POST['c'];
    $_POST['d'];
    $_POST['e'];

空的吗?或者c,d,e是从表单发送的隐藏变量。

如果你的表单没有发送c,d,e,你很可能会收到Notice: Undefined index: in

如果没有,删除这些变量

$_POST['c'],…没有设置,所以你得到一个NOTICE。(它们的值是null)

最好将代码更改为:

if(isset($_POST['c'])) $c=$_POST['c']; else $c='';

$c=isset($_POST['c'])?$_POST['c']:'';

$_POST是一个全局变量,但它是一个数组。

当你通过POST method提交表单时,你会得到一个有限的时间周期的post变量,因为页面改变了,所有你以前的post变量都消失了。

如果你要发布一个表单

查看所有使用

的post数据
  print_r($_POST); 

 var_dump($_POST);

给出了一个人类可读的post数据数组。它会告诉你$_POST

里面有什么