2016-05-05 3 views
1

Ich habe ein Formular, wo ich mehrere Upload-Schaltflächen habe. Banner, Cover und HeadlinerX, das X wird durch eine Zahl 1,2 ersetzt ... X Das bedeutet, ich kann mehrere Tasten für den Upload von Headlinern haben.Erhalten von Werten aus einer PHP-Variablen in einer Ansicht

Ich habe diesen versteckten Eingang (aus meiner Sicht), wo ich die Anzahl der Headliner speichern.

Ich versuchte diesen Weg (Methode im Controller), um darauf zuzugreifen, aber es tut nichts, es fügt nur Banner und Abdeckung hinzu.

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

Kann mir jemand in die richtige Richtung zeigen?

+1

statt '_POST' $' die Nutzung Kuchen $ this-> request-> Daten() 'finden Sie in der [manuell] (http: // Buch. cakephp.org/3.0/de/controller/request-response.html#request-body-data) – arilia

Antwort

-1

Nach ein paar Minuten wieder lesen den Code fand ich meine Fehler und Lösung.

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

Danke trotzdem @Cili und @arilia

0

prüfen diese Arbeitsversion der Funktion:

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