【问题标题】:Obtaining values from a php variable inside a view从视图内的 php 变量中获取值
【发布时间】:2016-05-05 14:06:02
【问题描述】:

我有一个表单,其中有多个上传按钮。 Banner、Cover 和 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;
}

谁能指出我正确的方向?

【问题讨论】:

  • 使用 cake 的 $this-&gt;request-&gt;data() 而不是 $_POST,请参阅 manual

标签: php html cakephp-3.0


【解决方案1】:

检查这个函数的工作版本:

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;
}

【讨论】:

    【解决方案2】:

    在重新阅读代码几分钟后,我发现了我的错误和解决方案。

    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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-24
      • 1970-01-01
      相关资源
      最近更新 更多