【问题标题】:Unsure how to get $_POST[''] value from form when the name is dynamic?当名称是动态的时,不确定如何从表单中获取 $_POST[''] 值?
【发布时间】:2013-08-01 19:19:48
【问题描述】:

所以目前我有以下正确的代码,但我只是不确定如何获得name=".$job_id.",因为它将是动态的,下面的申请者jobs.php:

<div id="container">

<?php

foreach($jobs as $job){

$job_id = $job['id'];

echo form_open('applications/applicants'); 
echo "<div class=\"job\">";
echo $job['name'];
echo "</div>";
echo "<input type=\"hidden\" name=".$job_id.">";
echo form_submit('submit', 'View Applicants');
echo form_close();
}

?>

非常感谢任何帮助,非常感谢。附:我正在使用 codeigniter。

【问题讨论】:

  • 变量 $job_id 会一直不同。那么当这个变量被传递到脚本('applications/applicants')时,我将如何获得它的值,对不起,我不清楚。

标签: php forms codeigniter post hidden-field


【解决方案1】:

您可以通过键值对来迭代数组。

foreach($_POST as $key => $val)
{

}

在此处阅读有关文档的更多信息; http://php.net/manual/en/control-structures.foreach.php

【讨论】:

  • 是的,但最好注意一下以防万一:)
【解决方案2】:

编辑,我稍微误解了你的问题。您正在寻找的是&lt;input&gt; 元素的value 属性:

echo "<input type=\"hidden\" name=\"job\" value=\"".$job_id."\">";

然后在 PHP 中你只需像这样访问它:

$job_id = $_POST['job'];

【讨论】:

  • 我做到了,但后来我觉得不那么容易。好像是的,干杯。
  • @AyeTry 如果其中一个答案解决了您的问题,请单击答案左侧的小复选标记。
  • 我一直在尝试点击你的,但我不得不等待几分钟。
【解决方案3】:

从外观上看,名称根本不需要是动态的。每个表格只使用一个。 名称可以是静态的,并且具有动态的值。 例如:

echo "<input type=\"hidden\" name=\"job_id\" value=\"".$job_id."\" />";

可以通过 $_POST['job_id'] 访问它

【讨论】:

    【解决方案4】:

    您不想设置值而不是名称吗? 例如。

    echo "<input type=\"hidden\" name=\"job_id\" value =\"".$job_id."\">";
    

    此外,您还可以在循环中打开和关闭 from,我认为您希望它们在循环之外,否则您有多个表单,最终只会提交一个。

    【讨论】:

    • 这就是我最初尝试自己做但做不到的事情。我该怎么做?
    • 按原样使用该行...如果它不起作用,则可能是转义所有那些“您可以使用”而不转义它们的错误,例如 echo "";
    猜你喜欢
    • 1970-01-01
    • 2020-07-24
    • 1970-01-01
    • 1970-01-01
    • 2019-10-11
    • 2021-08-17
    • 1970-01-01
    • 2010-12-31
    • 1970-01-01
    相关资源
    最近更新 更多