My form vars are often namespaced, as in <input name="someTable[someField]"
... /> (The idea is stolen from CakePHP, thank you.)
My controllers can then, if need be, recycle form input with a simple
$this->view->someTable = $this->_request->getParam('someTable')
But I am thinking about ajaxifying my current project just because it takes
this issue right off the table (and it's hip and cool).
This is a good and obvious question. There ought to be a Best Practice
enshrined in the ZF Scriptures.
On 9/5/07, Steven Brown <[EMAIL PROTECTED]> wrote:
>
> That's a good question.
>
>
>
> The simple answer is to have the data in hidden fields in the page.
>
>
>
> I guess you could store the data in a namespace with a unique ID, that ID
> would be sent back in with the POST or GET to retrieve the data for further
> editing.
>
>
>
> Cheers,
>
> Steven
>
>
>
> *From:* Ivan Ruiz Gallego [mailto:[EMAIL PROTECTED]
> *Sent:* Wednesday, 5 September 2007 11:03 PM
> *To:* Steven Brown
> *Cc:* 'rdpweb'; [email protected]
> *Subject:* Re: [fw-general] how to retain value in form using zend
>
>
>
> Hi Steven,
>
> Using sessions to store form data may lead to data overlapping. That's a
> good point, I didn't take into account. The main point using the session was
> to store form data in case that we have a preview action. In this case form
> data is no longer in the post array. What would be in your opinion the best
> way to store data in this case? Thanks.
>
> Best regards,
> Ivan.
>
> Steven Brown schrieb:
>
> I would recommend not storing the form data in the session, you might find
>
> people will be using the same form (or multiple forms) in multiple windows,
>
> this results in overlapping data.
>
>
>
> Check out this tutorial:
>
>
>
> http://akrabat.com/zend-framework-tutorial/
>
>
>
> It has a really good example application for forms.
>
>
>
> Cheers,
>
> Steven
>
>
>
> -----Original Message-----
>
> From: Ivan Ruiz Gallego [mailto:[EMAIL PROTECTED] <[EMAIL PROTECTED]>]
>
> Sent: Wednesday, 5 September 2007 5:03 PM
>
> To: rdpweb; [email protected]
>
> Subject: Re: [fw-general] how to retain value in form using zend
>
>
>
> Hi Rohit83,
>
>
>
> I usually use Zend_Session to keep form data between requests. I
>
> serialize the post array an keep it in an own session namespace.
>
> Additionally, I pass the form data array to the view in the controller
>
> action, so that the view does not need to know about the existence of
>
> sessions. Take a look at the sample code below.
>
>
>
> If everyone has a better idea, I would be happy to know!
>
>
>
> Best regards,
>
> Ivan.
>
>
>
> /* Display form */
>
> public function displayformAction() {
>
> $this->initView();
>
> // Check session for form data
>
> $formSession = new Zend_Session_Namespace('form');
>
> if (isset($formSession->formData)) {
>
> $formData = unserialize($formSession->formData);
>
> $this->view->formData = $formData;
>
> }
>
> /* Render form */
>
> }
>
>
>
> /* Check user input */
>
> public function checkformAction() {
>
> // Get POST data
>
> $request = $this->getRequest();
>
> $post = $request->getPost();
>
>
>
> /* Validation logic */
>
>
>
> /* If errors, go back to view */
>
> // Pass error message...
>
> $this->view->formData = $post;
>
> // Redirect
>
>
>
> /* If input ok */
>
> $formSession = new Zend_Session_Namespace('form');
>
> $formSession->formData = serialize($post);
>
> // Go to previewAction, e.g.
>
> }
>
>
>
>
>
> Hi All
>
> I have developed a form using zend framework.When i click on
>
>
>
> submit
>
>
>
> button and id if due to validation some error message is displayed , at
>
>
>
> that
>
>
>
> time the values entered in text box will not be retained.
>
> Is their any way to retain these values using zend functionality
>
> Regard,
>
> Rohit83
>
>
>
>
>
>
>
>
>
>
>
>
>
> --
>
> Loglan GmbH
>
> Ivan Ruiz Gallego
>
>
>
> Binzmühlestrasse 210
>
> 8050 Zürich
>
> Switzerland
>
>
>
> Office +41 44 310 19 20
>
> Mobile +41 76 321 23 68
>
> Net www.loglan.net
>
>
--
David Mintz
http://davidmintz.org/
The subtle source is clear and bright
The tributary streams flow through the darkness