2010-12-13 2 views
0

I wie unten in der Ansicht eine Form haben:Wie Formularobjekt, mit dem Controller abzurufen, wenn ich die Formulare generieren bin nicht mit Zend_Form

 
    
    
    
    
    
    



Hier bin ich nicht mit der Zend_Form, wie kann ich lese die Werte, die übergeben werden, wenn ich in der Steuerung bin.

function updateproductsAction(){ 
    //$request = $this->getRequest(); 
    echo "<pre>"; 
    print_r($this->getRequest('POST')); 
} 

oben ist der Controller. Ich muss die Werte lesen, die von den Eingabe-Tags übergeben wurden.

Dank im Voraus

Gayan

Antwort

1

Angenommen, Ihr Controller ist "Products" (der Name nicht geben), und die Form der Aktion unter der Annahme = "/ products/updateproducts" und method = "POST "(Formular Quellcode fehlt), dann gilt:

function updateproductsAction() { 
    if ($this->_request->isPost()) { 
     // Assuming input tag "name" values are product_id and quantity: 
     $productId = $this->_request->getParam('product_id'); 
     $quantity = $this->_request->getParam('quantity'); 
     // etc.. for input tags 
    } 
} 

Wenn Sie Zend_Form verwenden (ich dabei sehr empfehlen), dann würde der Code leicht modifiziert werden, wie folgt:

function updateproductsAction() { 
    $form = new My_Form_UpdateProducts(); 
    if ($this->_request->isPost() && $form->isValid($this->_request->getPost())) { 
     $productId = $this->_request->getParam('product_id'); 
     // etc.. 
    } 
} 

Mit Zend_Form können Sie Eingabe-Validierung und Filterung und so mit minimalem Aufwand (d. H. Trimmen von Leerzeichen, wobei alle Groß-/Kleinschreibung berücksichtigt wird, um sicherzustellen, dass nur numerische Werte eingegeben wurden usw.).

Wenn Sie method = "GET" verwenden, dann wird IsPost() isGet() und getPost() wird getQuery().

+0

Dank half viel –

Verwandte Themen