php - 将 $_POST 形成为数组

标签 php

我注意到在发布表单时,字段以数组的形式出现。

如果我愿意

if(isset($_POST['submit'])) {
print_r($_POST);
}

我通常为表单字段做的如下。

假设我有这样的事情(这是我通常做的)

<form method="POST" action="">
<label>First Name: </label>
<input type="text" name="fname">

<label>Last Name: </label>
<input type="text" name="lname">

<label>Phone: </label>
<input type="text" name="phone">

<input type="submit" name="submit" value="submit">
</form>

然后我会(我不包括字段验证以使其看起来清楚)

if(isset($_POST['submit'])) {

$fname = $_POST['fname'];
$lname = $_POST['lname'];
$phone = $_POST['phone'];

mysql_query("insert into table(fname,lname,phone) values('$fname','$lname','$phone')");

header("Location: gosomewhere.php");

}

因为帖子输出是数组格式,当我处理超过 100 个字段时,我还能怎么写呢?

大佬们是怎么做到的?或者你是怎么做到的?

编辑:我处理的最多的是大约 60 个字段。我正在构建这个 cms,它从每个表单中获取大量数据以汇总来自客户的信息。

最佳答案

我认为我从未见过任何人以一种形式“处理超过 100 个字段”。如果是这种情况,您可以考虑进行设计更改,在整个过程中自动保存部分数据。表单数据将始终将自身提交到服务器端的数组中,没有办法解决这个问题。

如果您想一次遍历多个字段(假设您在表单中接受多个事件日期),您可以使用 array-style naming-convention :

<input type="text" name="events[]" />

在服务器端访问此数据后,您可以在一个简单的循环中快速迭代它:

foreach ($_POST["events"] as $event) {
  echo $event;
}

如果我没理解你的问题,我很抱歉。

关于php - 将 $_POST 形成为数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2260531/

相关文章:

php - 从 Magento 中的发票 pdf 中删除运输方式和付款方式

php - OOP 新手,如何将类公共(public)变量设置为全局变量以用于静态方法?

php - 如何从 PHP 将变量传递到 MySQL 存储过程

php - mySQL 中 FOUND_ROWS() 的错误结果

php - 第 152 行警告 : mysql_real_escape_string(): Access denied for user 'root' @'localhost' (using password: NO) in easy-contact-forms-database. php

php - 使用关联数组作为 php 函数的输入

php - elasticsearch php客户端忽略主机端口

php - MySQL/PHP网站同步本地副本

PHP7 无法在 Alpine docker 容器上加载 memcached 和 redis

php - 未终止的字符串文字