login  Naam:   Wachtwoord: 
Registreer je!
 Forum

[ZF] post waarde leeg?

Offline Realtec - 22/03/2011 15:32 (laatste wijziging 22/03/2011 15:33)
Avatar van RealtecHTML interesse Ik ben bezig met een cms en ik probeer categorieën toe te voegen en te editen.

Het probleem is dat de 'imageURL' wel gepost word via het formulier en in mijn controller ook aanwezig is maar als ik het in de db wil gooien is hij ineens leeg. (NULL)

Controller code
addAction
editAction

In mijn 2 formulieren hebben de text input velden: name="imageURL"

Als ik de post data uitlees na het posten met: var_dump($this->getRequest()->getParams());

Krijg ik dit te zien:
  1. array(6)
  2. {
  3. ["module"]=> string(5) "admin"
  4. ["controller"]=> string(10) "categories"
  5. ["action"]=> string(3) "add"
  6. ["submit"]=> string(0) ""
  7. ["catName"]=> string(12) "Dameskleding"
  8. ["imageURL"]=> string(34) "/media/images/categories/image.jpg"
  9. }


Als die informatie door Zend_Filter_Input is gegaan is $input->imageURL ineens leeg.

Iemand enig idee wat hier mis gaat?

2 antwoorden

Gesponsorde links
Offline avdg - 22/03/2011 15:40 (laatste wijziging 22/03/2011 15:41)
Avatar van avdg PHP gevorderde Als je een kijk neemt naar ZF (op http://framewor...t/Http.php zoekwoord 'public function getParam') kan je zien dat de class geen kopie neemt van $_POST en $_GET, maar slechts een verwijzing naar maakt, wat de missende variabelen verklaard.
Offline Realtec - 22/03/2011 16:00 (laatste wijziging 23/03/2011 11:51)
Avatar van Realtec HTML interesse Volgensmij krijg ik toch echt netjes een array terug met alle params.
Pas na de Zend_Filter_Input is imageURL ineens null.
Ik denk niet dat de fout aan getParams() ligt.

Edit:
Ik heb nu in mijn Zend_Filter_Input object voor imageURL een filter en validator toegevoegd:
  1. $filters = array(
  2. 'catName' => array('HtmlEntities', 'StripTags', 'StringTrim'),
  3. 'imageURL' => array('HtmlEntities', 'StripTags', 'StringTrim'));
  4. $validators = array(
  5. 'catName' => array('NotEmpty'),
  6. 'imageURL' => array('NotEmpty'));


Dan is de imageURL ineens niet meer leeg.
Moet je voor alle params die je wilt gebruiken een filter en validator toekennen?

Edit2:
Het schijnt dus dat je voor alle data params die je wilt gebruiken na de filter moet koppelen aan een validator.
Zonder kan ook maar dan moet je ze opvangen met $input->getUnknown()

Maar uit veiligheid moet er eigenlijk altijd een validator aan gekoppeld worden.
Ik heb het nu opgelost met 'imageURL' => array('allowEmpty' => true)
Dit maakt een veld zeg maar optioneel en mag dan leeg zijn.

Ik denk ik deel maar even mijn oplossing maar als iemand nog toevoegingen heeft hoor ik dat ook graag 
Gesponsorde links
Je moet ingelogd zijn om een reactie te kunnen posten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.188s