我注意到在发布表单时,字段以数组的形式出现。
如果我愿意
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/