[development] How to pass form values to page that actually does something.

Randy Fay randy at randyfay.com
Mon May 10 20:19:55 UTC 2010


I may not be understanding your needs correctly, but I recently did this:

1. The form builder function switches based on some piece of info in
$form_state.

2. If the info is there, present information. If the information is not
there, present a form.

3. The submit function contains onlly $form_state['rebuild'] = TRUE.

Basically you're giving the form builder function two ways to build the
page: With data and without it.

-Randy

On Mon, May 10, 2010 at 10:37 AM, Bayne, Sam <sbayne at sccd.ctc.edu> wrote:

> I'm quite frustrated with the Form API right now, so please forgive my
> tone.
>
> I've got a form that has a bunch of inputs, all of them multiselects, that
> allow the user to choose what classes to see in our schedule.
> (our class schedule is in an external database).  I've got a bunch of code
> in the form_submit function that builds a very elaborate sql query to get
> the list of requested classes.
>
> Unfortunately, the form_submit function is not actually permitted to
> display anything except through drupal_set_message().
>
> So I have to either pass my complicated sql query, or all the contents of
> the form fields to some other page through $form_state['redirect'].
>
> How do I do that without shoving it all into the querystring?
>
> Right now, I'm looking at the performance issues of:
>
> A: storing the query as a string in the database with a query_id, then
> sending a query_id in the redirect,
> B: storing the result of the query in the database with a result_id, then
> sending a result_id in the redirect.
>
> Is there some other way to accomplish what I want?
>
> p.s. I've looked at the search module, it basically shoves the form input
> into the querystring of the redirect. That'll work for a single input, but
> multiple array inputs will be a huge pain.
>
>
>


-- 
Randy Fay
Drupal Module and Site Development
randy at randyfay.com
+1  970.462.7450
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.drupal.org/pipermail/development/attachments/20100510/b7e8610f/attachment-0001.html 


More information about the development mailing list