2016-05-05 4 views
1

У меня есть форма, где у меня есть несколько кнопок загрузки. Banner, Cover и HeadlinerX, X заменяется на номер 1,2 ... X Это означает, что у меня может быть несколько кнопок для загрузки хедлайнеров.Получение значений из переменной php внутри представления

У меня есть этот скрытый ввод (на мой взгляд), где я храню количество хедлайнеров.

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

Может ли кто-нибудь указать мне правильное направление?

+1

вместо '' данных $ _POST' использовать торт в $ this-> request->() ', см [Manual] (HTTP: // книгу. cakephp.org/3.0/en/controllers/request-response.html#request-body-data) – arilia

ответ

-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

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; 
} 
Смежные вопросы