我想调用一个函数来创建一个基于表单的按钮,其中包含动态数量的隐藏输入。我正在努力奋斗,并希望有人能指出我正确的方向。这是背景:
我有一个函数,我调用它来返回一个带有一堆隐藏输入的按钮,这些输入必须在提交表单时位于$ _POST数组中。例如:
<?php
function my_function($var1, $var2) {
// Initialize the $ctrls variable
$ctrls = '';
// Builds the form button
$ctrls =
'<form action="" method="post">
<input type="hidden" name="var1" value="'.$var1.'" />
<input type="hidden" name="var2" value="'.$var2.'" />
<input type="submit" value="my button" id="pgn"?>
</form>';
return $ctrls;
}
?>
这一直很好。但是,现在我需要开始包含其他变量,其数量将根据调用函数的页面而有所不同。我想要的解决方案是创建一个数组来存储所有其他变量,以便必须修复必须传递给函数的数字变量。例如:
function my_function($ var1,$ var2,$ array)
然后在调用该函数的页面上,我将按如下方式定义数组:
$array = array("var3" => "abc", "var4"=>"def", "var5"=>"ghi");
我接下来想要做的就是按照以下方式修改功能:
<?php
function my_function($var1, $var2, $array) {
// Initialize the $ctrls variable
$ctrls = '';
// Builds the form button
$ctrls =
'<form action="" method="post">
<input type="hidden" name="var1" value="'.$var1.'" />
<input type="hidden" name="var2" value="'.$var2.'" />
'
foreach($array as $key=>$value) {
'
<input type="hidden" name="'.$key.'" value="'.$value.'" />
'
}
'
<input type="submit" value="my button" id="pgn"?>
</form>';
return $ctrls;
}
预期的结果是foreach循环添加了与数组中的行一样多的隐藏输入。但是,将foreach循环添加到函数时,将不会加载调用该函数的页面。我也尝试在foreach循环中回显$ key和$ value变量,并且也没有取得任何成功。
期待有关如何执行此操作的任何见解。强烈倾向于坚持使用仅使用php和HTML的解决方案。提前谢谢。
答案 0 :(得分:0)
Try this:
// Initialize the $ctrls variable
$ctrls = '';
// Builds the form button
$ctrls =
'<form action="" method="post">
<input type="hidden" name="var1" value="'.$var1.'" />
<input type="hidden" name="var2" value="'.$var2.'" />';
foreach($array as $key=>$value) {
$ctrls .='
<input type="hidden" name="'.$key.'" value="'.$value.'" />
';
}
$ctrls .= '
<input type="submit" value="my button" id="pgn"?>
</form>';
我希望这会有效..
答案 1 :(得分:-1)
好吧,你忘了将字符串添加到变量
// Initialize the $ctrls variable
$ctrls = '';
// Builds the form button
$ctrls =
'<form action="" method="post">
<input type="hidden" name="var1" value="'.$var1.'" />
<input type="hidden" name="var2" value="'.$var2.'" />
';
foreach($array as $key=>$value) {
$ctrls .= '<input type="hidden" name="'.$key.'" value="'.$value.'" />';
}
$ctrls .= '<input type="submit" value="my button" id="pgn"?></form>';
return $ctrls;
}
答案 2 :(得分:-1)