php - 使用表单传递数组和用户输入
问题描述
我在处理传递数组的表单时遇到了困难。我在一个名为 $product 的数组中包含了 5 个变量(“$a,$b,$c,$d,$e”),然后我将它与需要用户输入值的输入一起传递给另一个框架使用表单. 所以会同时传递一个数组和一个输入。那么我应该使用“post”还是“get”?看来我应该使用“post”来传递数组,但用户输入只能通过“get”来传递,对吗?以下是我的代码(表格在表格内):
print "<td><form class=button action='bottom_right.php' method='post' target='bottom_right'>
<input type='text' name='quantity'>
<input type='hidden' name='product' value='<?php echo($product) ?>'>
<button type='submit' class='btn btn-primary mb-2'>Add</button>
</form></td>";
此外,我怎样才能从另一个框架中检索内容?应该像下面这样吗?如何从数组中回显单个变量?
<?php
session_start();
$quantity=$_POST['quantity'];
$product=$_POST['product'];
echo $quantity;
echo $product['a'];
echo $b;
?>
期待您的回复!干杯!
解决方案
<input type='hidden' name='product' value='<?= implode(',', $product) ?>' />
然后在 PHP 中,您将在键下寻找一串集中值product
。
<?php
$quantity = (isset($_POST['quantity'])) $_POST['quantity'] ? : null;
$product = (isset($_POST['product'])) $_POST['product'] ? : '';
$productArray = explode(',', $product);
var_dump($productArray);
您可以使用 POST 或 GET。您可以将数组转换为字符串,使用分隔符来标记各个部分,或者您可以使用多个隐藏字段,数组中的每个值对应一个。
<!-- would probably POST if going this route...? -->
<input type='hidden' name='product[a]' value='<?= $product['a'] ?>' />
<input type='hidden' name='product[b]' value='<?= $product['b'] ?>' />
玩弄它并使用它var_dump($_POST);
来了解这些方法如何修改您收到的内容。
推荐阅读
- powershell - Powersell 删除名称不在 sql 输出中的子文件夹
- java - 怎么调试,输出错误?
- amazon-web-services - 自动配置实例以连接到数据库集群端点
- xslt - 使用 XSLT 将父 XML 元素拆分为相等数量的子元素
- sql - SQL / T-SQL 按等级更新列
- node.js - 如何在 Docker 中启动 Apache 和 Node?
- python - 竞争条件应该以形式还是视图来处理?
- node.js - 给定一个内存太大、未排序的 csv 文件,如何在 Node.js 中搜索并增加特定行?
- c# - 带有显式类型变量的 C# 编译器错误发送到带有 ref 对象的方法(从 VB.net 转换)
- javascript - Zoom 如何从 Google Chrome 启动他们的桌面应用程序?