【问题标题】:I want to "get" more than one "item"我想“得到”不止一个“项目”
【发布时间】:2015-11-25 06:35:26
【问题描述】:

我想发送“fill[]”和“item[]”,而我的问题是函数写入无法获取变量的值,为什么?

怎么了?我是这方面的新手。

<form action="/fill_sites/fill.php" method="get">

<input type="text" size="24" maxlength="20" name="fill[0]"/>
<input type="hidden" name="item[0]value="hella_apfelschorle"/>

<input type="text" size="24" maxlength="20" name="fill[1]"/>
<input type="hidden" name="item[1]" value="volvic_wasser"/>

..... so on

<input type="submit" value="Abschicken"/>

------------------------------------------------------------>[fill/php]>

$fill[0] = $_GET["fill[0]"];
$fill[1] = $_GET["fill[1]"];
$fill[2] = $_GET["fill[2]"];
$fill[3] = $_GET["fill[3]"];
$fill[4] = $_GET["fill[4]"];
$fill[5] = $_GET["fill[5]"];
$fill[6] = $_GET["fill[6]"];
$fill[7] = $_GET["fill[7]"];
$fill[8] = $_GET["fill[8]"];
$fill[9] = $_GET["fill[9]"];

$item[0] = $_GET["item[0]"];
$item[1] = $_GET["item[1]"];
$item[2] = $_GET["item[2]"];
$item[3] = $_GET["item[3]"];
$item[4] = $_GET["item[4]"];
$item[5] = $_GET["item[5]"];
$item[6] = $_GET["item[6]"];
$item[7] = $_GET["item[7]"];
$item[8] = $_GET["item[8]"];
$item[9] = $_GET["item[9]"];


            write($counterFilename[$item[]], $fill);

【问题讨论】:

  • 为什么不只是$fill = $_GET['fill'] & $item = $_GET['item']$counterFilename[$item[]] 应该是 $counterFilename[$item]。您传递的是价值,而不是定义。
  • 没有 [1] [2] ...?
  • 是的。他们是arrays。
  • $fill[0] = $_GET['fill'][0];
  • hm 他没有得到数组:-/ 我发送了整个代码,也许你看到了问题:/ html: pastebin.com/Sbx5efn2 php: pastebin.com/UNznxUQi

标签: php forms get


【解决方案1】:

您可以通过以下代码执行此操作。它会得到完整的数组。

$item = $_Get['item'];
$fill= $_Get['fill'];

【讨论】:

  • hm 他没有得到数组:-/ 我发送了整个代码,也许你看到了问题:/ html:pastebin.com/Sbx5efn2 php:pastebin.com/UNznxUQi
  • 在这个输入字段&lt;input type="hidden" name="item[]" value="magnum_classic"/&gt;而不是&lt;input type="hidden" name="item[0]" value="magnum_classic"/&gt;&lt;input type="hidden" name="item[1]" value="cornetto_lemon"/&gt;等中存储完整的数组,然后获取数组。希望它会工作
  • 我做到了,但他仍然不明白,也许我的 get 命令有问题:pastebin.com/Fi5EYxVX
  • 好的,它可以工作。像这样:$item = $_GET["item"]; $fill = $_GET["fill"]; for ($i=0;$i
  • 很好,我已经让你知道在 cmets 中它会像这样工作。 $item = $_Get['item']; $fill= $_Get['fill'];
【解决方案2】:

使用php的foreach语句获取fill和item的内容

$fills = $_GET['fill'];
foreach($fills as $fill)
{
    //do something with $fill
}

$item 也一样

【讨论】:

  • 是的,但是我的写功能需要“项目”和“填充”,所以我想使用该功能,还是不可能? pastebin.com/pMnsvddp
  • 有可能,您需要将它们传递给您的函数或从您的函数中访问它们 - 您需要决定您希望您的函数/应用程序起作用。例如;在你的 func.. function write($counterFilename, $counter) { //process item/fill - using foreach //your function code } 或者你可以使用 $item 作为参数从内部传递来调用你的函数loop foreach($fills as $fill) { write($counterFilename, $counter, $fill) } 你需要为此调整你的函数......
  • 是的,它现在是这样工作的:$item = $_GET["item"]; $fill = $_GET["fill"]; for ($i=0;$i
猜你喜欢
  • 1970-01-01
  • 2012-10-11
  • 2021-12-29
  • 1970-01-01
  • 1970-01-01
  • 2021-11-14
  • 2020-01-15
  • 2015-06-23
  • 1970-01-01
相关资源
最近更新 更多