PHP Process 2 forms at once - php

I would like to know if its possible to process 2 forms at once? my scenario is this:
I have a contact page on my website which consists of:
1) Customer Details
2a) General Enquiry
2b) Get Quote
2c) Check Availability
section 1 is always the same is a form on its own, where as section 2 will only show details for one of the options (selectable from drop down box.)
so in total I have 4 forms of which 2 will always be filled in, and i need to process them both to email through to me. I don't want to have to include section 1 at the top of each form if i can help it)
I hope this all makes sense.

Long story short: You can only submit one form at a time.

Any reason you dont want to make it one form? Seems like it would be a lot easier to make it one form and do all of the processing on the other side.

You can only submit one form at a time. You have a couple of options:
1) Combine the two forms into one form and use CSS/JavaScript to show/hide the relevant fields. This way, all of the form fields will be submitted (including the ones you're not interested in). This is what I would do.
2) When the user submits the form, use JavaScript to send the appropriate data to the backend.

Related

Move form entries between Wordpress Gravity Forms

I have a tournament with multiple divisions and multiple forms for which I use gravity forms.
There are times when someone requests to be changed to a different division. However, I am unable to move the competitor from one division to another in gravity forms, as the divisions are each using a different form ID (and they have still not developed a method for helping with this).
How would I go about moving a SINGLE ENTRY from one gravity form to another forms entry list please.
We have many teams at the tournament, so mass export and import is not what i am looking to achieve. Its about being able to move a single entry from one list of entries in one form to another forms list of entries?
ANY help would be greatly appreciated. Even a simple "use this method" in general terms will help me greatly. Would I use some form of JQuery fiddle, a php script, an sql script or what please as Import Entries is not available currently in GF
Regards
You can not do that, but instead maybe you shold design your form to include all types of submissions logic. I mean you can put a drop-down field at the beginning of your form. Then you can use https://gravityview.co/ to edit your single entry field.
I have a workaround for this which i am using in one of my current projects for http://projects.dzign-r.com.au and that is,
1) export both of the the forms (i.e the one from which you need the field to move and the other to which you need this field to be moved to) and it exports these as json files
2) search for the field ID that you need to be moved to another form, cut its json code from the json file and paste it in the other form's json file where you need it to be moved to
3) then import the form back. and test it to make sure it works as you want it, (as a caution you may change the field ID after you paste it in new form to be something which is not used in this form already).
4) once u see everything is fine u may just delete the old form?

How to populate a multi page form if data has been entered or leave it empty if there is no current data?

Hi really hoping to get some help with a complex form issue.
I am building a real estate site where the agents will be able to log into an admin page and upload new houses that are for sale in an HTML form. I have a multi 3 page form that has Listing Info, More Listing Details and a Photo upload page. I have created these 3 pages and a nice css tab navigation to switch between the 3 pages. My issue is I would like the agent to be able to go back and forth between the 3 pages and have the data stay in the form. However if this is a brand new "Listing" then the form would be completely blank. I have the forms set up to submit through php and enter data in a mysql DB and then send you to the next page in the form.
The only way I can come up with is to have if statements that check session variables to see if a "listing_id" variable has been set. If it has it creates a form and fills in the blanks with the data from that pending "listing_id" if not it just creates a blank form. Is there an easier way to do this??? I would like to stick with PHP and HTML however simple JS would be ok too. Thanks for any incite anyone can give!
Whoa whoa whoa. Not sessions. No .. hell naw.
A very simple solution is to make it so the tabs are only visual. Don't throw away the HTML, just hide the container and show another. This way, when you go back, your data is still there.
I would save a cookie on their end with the data they have most recently put in and only clear the cookie once they have completed the form. Then you can use this data to fill the form.
For example,
Imagine the form data from their last inputs were separated by colons ":"
$prevform=$_COOKIE["lastform"]
$data=explode($prevform,":")
All the form data would be separated and reusable by setting the value of each input from $data[int]

best design practice in PHP for navigating from one form to another

I have an application in which I display a form so a user can search for client records based on last name. After entering search parameters, the record or records (there could be multiple clients with the same last name) are displayed. I then want the user to be able to select a client record, possibly with a radio button, and hit one of two buttons: Display details, or Create Reservation. The Display Details button should cause a new display with details of the selected record. The Create Reservation button should cause a new form, with its own handling, to be displayed.
Now, I know I can set things up according to this login
<?php
if (display button was pressed)
{
php code to retrieve more data and display details
}
else if (create reservation button was pressed)
{
php code to generate and display the reservation form, with appropriate handling
}
?>
display the original form with the search results
The problem is, I end up with really ugly, hard to read code because the php code to generate and display the reservation form is lengthy, and needs its own validation, database interaction, and form handling. The code, to my Java-oriented eye, looks ugly and non-modular. Plus, the code for handling the reservation form is icky, with lots of flag setting to determine if we are in form entry mode or form handling mode. I would like a much cleaner way to do this. So my question is, what is the best practice for handling the situation where there are multiple buttons and the action associated with each button is complex?
I could call a function, obviously, but I still end up with the ugly flags determining which state the script is in (are we displaying the reservation form or handling it?). I could create another php file and include it, but the ugliness persists. Or, I could use header, and pass the client record id in a session variable to the new php script. But that would mean a second, unnecessary retrieve from the database to get the client information again.
All the code examples I see on the web show very simple processing after a form button is pressed. What is the best way to do complex processing and displaying a second form based on a button press?
Have you considered using a framework like Laravel for your site. It would seem to me that you must be doing this "manually". With the complexities you described, having a system with routes and "build-in" functionality (like Eloquent ORM) might serve to simplify things for you.
I would go for using ajax and a rich jQuery plugin (or some other framework) to do what you want.
Basically you will handle lists and the functionality that you mentioned with the php reading data and jQuery scripts to dysplay it. And the information that you have to show would be through ajax. Or when you want to edit.
Here is a cleaner example of what you need:
http://jqueryui.com/dialog/#modal-form

How do I create a form without refreshing the page at the same time the data goes into a mysql data base?

Ok, I know there have been a few questions posted on this but a lot of the information are dotted around and not necessarily connected in one form that I need for my site.
Basically I want to create the style/functionality of the twitter form on their home page.
Where inside the input fields are the labels, and when you click on the input the fields the labels don NOT disappear but fade into a different colour. Its only when you type, is when it disappears.
If they don't type and press submit I want the verification signs come up ( I know how to do this but it seems to be conflicting when I put the jQuery code in)
When all fields are inputted I would like the form to fade and represent a thank you message whilst
the data gets placed into a mysql ( specifically a MAMP/PHP My Admin) database.
Very similar to this form on hbuddy.com
Would massively appreciate if this was responded in a step by step format, simply because i am at the beginning stages of learning pretty complex programming language.
Thanks!
you can try jquery ajax for form submission..
These links will help you for getting started..
http://net.tutsplus.com/tutorials/javascript-ajax/submit-a-form-without-page-refresh-using-jquery/
http://www.9lessons.info/2009/04/submit-form-jquery-and-ajax.html
http://www.ryancoughlin.com/2008/11/04/use-jquery-to-submit-form/

Multi page ordering form php or ajax

I'm looking to create a multi page ordering form the first page would contain some dropdown and text fields, the second page would contain more text fields, the third page would be an order summery with paypal payment option.
I'm just wondering what the best way to create this order form is. I've used sessions in the past but never with users entering in text and picking items from drop downs, does anyone have any resources for doing this? Or does anyone know of a jquery or other ajax example or plugin I might be able to use and modify.
any insight would be a big help.
thanks
The simplest technique might be to use hidden form fields to carry fields from previous screens through to the final screen.
Just make sure you validate all the values when the final screen is submitted to make sure that the user hasn't twiddled the data.
You don't need to do pagination at all if you don't won't to. Just use css to show/hide the "pages". It doesn't sound like you have to save the "state" at any point.
But if you want to do multiple pages, use a session or a cookie to track the user. Then save the data to a database a mark it as incomplete. On the final page, retrieve it all and show it on the page. The server can't tell if a request is ajax or not, so it doesn't matter what you use for submission.

Categories