我有一个表单,我有多个上传按钮。 横幅,封面和HeadlinerX,X被数字1,2 ...... X取代 这意味着我可以有多个按钮用于上传标题。
我有这个隐藏的输入(在我看来),我存储了头条新闻的数量。
<input type="hidden" name="qtd_headliners" id="qtd_headliners" value="<?php echo $qtd_headliners?>" />
我尝试过这种方式(控制器中的方法)来访问它,但它没有做任何只添加横幅和封面的事情。
public function uploadOptions(){
$opt = array();
for ($i=1; $i <= $_POST['qtd_headliners']; $i++) {
if(!array_key_exists($i, $_POST))
continue;
$headliner = $_POST('headliners'.$i);
$opt[$i] = $headliner;
$this->set('Headliner' . $opt[$i] , 'debug');
}
array_push($opt, 'banner', 'cover');
return $opt;
}
有人能指出我正确的方向吗?
答案 0 :(得分:0)
检查该功能的这个工作版本:
function uploadOptions(){
$opt = array();
for ($i=1; $i <= $_POST['qtd_headliners']; $i++) {
if(!array_key_exists('headliners'.$i, $_POST)) // Note the 'headliners' string
continue;
$headliner = $_POST['headliners'.$i]; // $_POST is an array, so access its items with []
$opt[$i] = $headliner;
$this->set('Headliner' . $opt[$i] , 'debug');
}
array_push($opt, 'banner', 'cover');
return $opt;
}
答案 1 :(得分:-1)
几分钟后重新阅读代码,我发现了错误和解决方案。
public function uploadOptions(){
$opt = array();
array_push($opt, 'banner', 'cover');
for ($i=1; $i <= $_POST['qtd_headliners']; $i++) {
$headliner = 'headliner'.$i;
array_push($opt, $headliner);
}
return $opt;
}
非常感谢@Cili和@arilia