【问题标题】:How can I put a POST inside another POST in PHP如何在 PHP 中将 POST 放入另一个 POST
【发布时间】:2016-03-15 04:51:08
【问题描述】:

我正在尝试获取表单的内容,我想使用 PHP 显示它们。表单的结构方式如下:
有一个复选框列表,当单击它们时,JavaScript 函数将创建另一个 <input> 标记。然后 JS 将新输入的名称设置为 <input name="value of checkbox">

我需要做的是让我的 PHP 获取我创建的 <input> 的值。

这是我的复选框 HTML。

<input name="product[]" value="value of Check 1" id="id-check-1" type="checkbox" onclick="id-check-1"/>
<input name="product[]" value="value of Check 2" id="id-check-2" type="checkbox" onclick="id-check-2"/>
<input name="product[]" value="value of Check 3" id="id-check-3" type="checkbox" onclick="id-check-3"/>

这是由 JS 创建的输入的 HTML。

<input name="value of Check 1" type="text"/>
<input name="value of Check 2" type="text"/>
<input name="value of Check 3" type="text"/>



PHP:

$aProduct = $_POST['product];
$product1 = $aProduct[0];
$product2 = $aProduct[1];
$product3 = $aProduct[2];
$input1 = $_POST[$product1];
$input2 = $_POST[$product3];
$input3 = $_POST[$product3];

我尝试使用这个 PHP 来获取输入到 crated 输入的值。这应该可行,因为输入的名称 = 复选框的值,所以简而言之,这就是我所做的:$_POST[$_POST['product']]

不幸的是,它不起作用,变量 $input1、$input2 和 $input3 不返回任何值。所以我想知道:A)我可以在 _POST 中放置 _POST 吗? B) 我可以做些什么来使我的代码正常工作?

【问题讨论】:

  • $product1 等是否包含值?我认为你不需要做你认为你做的事。
  • 你在文本框中放了什么?也贴出js代码。
  • 是的。 $product1 的值是取自第一个 HTML 代码的“检查 1 的值”
  • 如果输入值在一个数组中,它会是 $_POST['product'][0] 等等?
  • 在文本框中输入产品的数量。即一个数字

标签: php post


【解决方案1】:

首先,$_POST 变量是 PHP 中的一个超级全局变量,我认为使用 $_POST[$_POST...

http://php.net/manual/en/language.variables.superglobals.php

另外我认为你不必创建额外的输入,只需使用 $_POST['product'] (选择的值数组)

尝试 var_dump($_POST['product']) 看看里面存储了什么

【讨论】:

    【解决方案2】:

    如果我理解正确,否则请引导我朝着正确的方向前进。

    首先:您已指定名称 product[]。那么它应该是 $_POST['product[]'] ,我不知道这是否可能。

    第二:如果您将复选框的值写入输入字段,那么为什么不按名称检查复选框。例如:

    <input name="check1" value="checkbox 1 value" type="text"/>
    <input name="check2" value="checkbox 2 value" type="text"/>
    <input name="check3" value="checkbox 3 value" type="text"/>
    

    然后在php中做:

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

    这样,如果检查按钮被选中,你会得到 check1 的值,否则它是空的。

    【讨论】:

    • 我可以这样做,但是复选框列表真的很长,我不想写这么多行 PHP...
    • 但是你想对这些值做什么?因为一个简单的 foreach 可以保存所有的帖子值
    【解决方案3】:

    您可能会遇到问题,因为 name 属性中不能有空格。

    ID 和 NAME 标记必须以字母 ([A-Za-z]) 开头,后跟任意数量的字母、数字 ([0-9])、连字符 ("-")、下划线 (" _")、冒号 (":") 和句点 (".")。

    https://www.w3.org/TR/html401/types.html#type-name

    【讨论】:

      猜你喜欢
      • 2015-11-05
      • 2016-01-01
      • 1970-01-01
      • 2022-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-19
      • 2021-09-02
      相关资源
      最近更新 更多