检索 PHP 表单输入的标准方法
Standard way of retrieving PHP Form Inputs
我已经使用 PHP 进行网络编程大约 2 个月了,对于表单,我一直在以如下方式检索用户输入:
对于标准 <input type="text">
:
/*input sanitation*/
function testInput($data) {
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
$data = mysql_real_escape_string($data);
return $data;
}
/*just gets the data*/
function getRText($HTMLname) {
if (isset ( $_POST [$HTMLname] ) && ! empty ( $_POST [$HTMLname] )) {
return testInput(( $_POST [$HTMLname] ));
} else {
throw new Exception("Input is missing from " + $HTMLname);
}
}
然后,在另一个脚本上,我会做这样的事情:
$userID = getRText('uid');
$company = getRText('company');
$projectNum = getRText('projnum');
$dataArray = array($userID, $company, $projectNum);
这种方法的问题是当我有一个大表格时它非常耗时。我正在考虑使用 Perl(使用 Perl CGI),我能够动态地循环遍历用户输入字段,并将每个输入动态添加到数组中,但我不确定 PHP。现在,我目前不得不手动从每个输入中提取每个数据。所有在线的 PHP 表单示例也是以这种方式进行的。这是从 PHP 表单中提取数据的正确方法吗?
您仍然可以在 PHP 中动态循环输入。这会做你想要的:
$input_array = array();
foreach ($_POST as $key => $val)
{
$input_array[] = getRText($val);
}
表单中的所有数据都以 $_POST 或 $_GET array.
的形式传送到您的脚本
所以你可以简单地做
foreach ($_POST as $key => $val)
{
$_POST[$key] = testInput($val);
}
这将 运行 您的清理并将数据放回 $_POST 数组,因此不再需要另一个数组。
我一直不明白为什么人们将数据从 $_POST/$_GET 数组移动到标量变量或其他数组。这是一个非常好的阵列,一旦交付给您,您就可以随心所欲地使用它。
我已经使用 PHP 进行网络编程大约 2 个月了,对于表单,我一直在以如下方式检索用户输入:
对于标准 <input type="text">
:
/*input sanitation*/
function testInput($data) {
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
$data = mysql_real_escape_string($data);
return $data;
}
/*just gets the data*/
function getRText($HTMLname) {
if (isset ( $_POST [$HTMLname] ) && ! empty ( $_POST [$HTMLname] )) {
return testInput(( $_POST [$HTMLname] ));
} else {
throw new Exception("Input is missing from " + $HTMLname);
}
}
然后,在另一个脚本上,我会做这样的事情:
$userID = getRText('uid');
$company = getRText('company');
$projectNum = getRText('projnum');
$dataArray = array($userID, $company, $projectNum);
这种方法的问题是当我有一个大表格时它非常耗时。我正在考虑使用 Perl(使用 Perl CGI),我能够动态地循环遍历用户输入字段,并将每个输入动态添加到数组中,但我不确定 PHP。现在,我目前不得不手动从每个输入中提取每个数据。所有在线的 PHP 表单示例也是以这种方式进行的。这是从 PHP 表单中提取数据的正确方法吗?
您仍然可以在 PHP 中动态循环输入。这会做你想要的:
$input_array = array();
foreach ($_POST as $key => $val)
{
$input_array[] = getRText($val);
}
表单中的所有数据都以 $_POST 或 $_GET array.
的形式传送到您的脚本所以你可以简单地做
foreach ($_POST as $key => $val)
{
$_POST[$key] = testInput($val);
}
这将 运行 您的清理并将数据放回 $_POST 数组,因此不再需要另一个数组。
我一直不明白为什么人们将数据从 $_POST/$_GET 数组移动到标量变量或其他数组。这是一个非常好的阵列,一旦交付给您,您就可以随心所欲地使用它。