migli supports this item


This author's response time can be up to 1 business day.

359 comments found.


gelidan Purchased

Hi Migli!

First of all: Thanks for the awesome library!

I have a complex form with some groupInputs. Everything works like a charm, except Jquery validation. The formvalidator plugin marks the entire form-group div with has-error or has-success. Is there a way, to mark the input fields separately?

Your example works like this too: https://www.phpformbuilder.pro/templates/bootstrap-forms/order-form.php

Thanks, Gelidan


gelidan Purchased

Hi migli!

I have a viable solution.

I created two css classes: icon-success and icon-error with only color codes.

I modified the xml file, to show the icons: icon: { valid: ‘glyphicon glyphicon-ok icon-success’, invalid: ‘glyphicon glyphicon-remove icon-error’, validating: ‘glyphicon glyphicon-refresh’ }

And after the closing tag i added these lines to thx xml file:

var inputs = $(’.form-group.has-feedback :input[required],:radio[required],:checkbox[required]’); $(inputs).each(function () { var parentDiv = ”.”+ $.trim($(this).parent().parent().get(0).className); var divName = $(this).attr(“name”); $(“ selector “).formValidation(‘addField’, divName, { row: {parentDiv} }) });

It searches for the required tags, and register them with the addField method. This way, you can specify the container div, and the error icon / success icon only shows for the correct input, not for the whole line.

I hope it helps. Gelidan

Hi Gelidan,

Your solution looks great, it should work fine in all cases (that’s required to be included into package).

I’ll just add a condition to apply on each input, radio or checkbox only if it exists.

I add this on my TODO list, thanks for your contribution



gelidan Purchased

Hi Migli!

I’m glad that I could help. Thanks for the awesome work, keep it up!

I’m not a php expert, so that I needed some help. The support is very good. An author (Gilles Migliori) highly recommendable.

Please, i need your help to install this form builder on my website. It did not work when i installed. Thanks

Hi Samet,

I’ll help you again (thanks for your previous comment), but you have to buy a license for each domain.

Could you please buy a new license and then contact me?



It’s good, within 48 hours, I renew the support to get help from you for 12 months. Will you help me to create our contact form with a menu and a function with logical conditions? That means, when a user who chooses in the support option menu will be redirected to the support site?

After renewing the support ?

Thanks to you Gilles


I’m sorry but I’m not available for custom work, I’ve got absolutely no time available. You should hire a freelancer for this.


kossut Purchased


I have purchased your PHP Form Builder but I haven’t started using it yet. Though on your demo page I found pretty serious bug. It was on File Upload Form. Using the last example on “File Upload Form”, where you can upload max 2 images with caption, by coincidence I had chosen one .jpg file and one .psd, which wasn’t allowed. And of course the system said that the file, PSD, isn’t allowed. Co I clicked cancel, and then only the .jpg stayed on the list. But when I tried to choose the second image, with the right extension this time, the script said that the number of files had been exceeded. This in my opinion is very wrong, because it seems, that the script counts rejected files, and I think, it shouldn’t. If the second image was rejected, I should still be able to add the second one, perhaps cancelling the wrong one before, or even without doing it, because the the message is enough. Imagine, that the upload form is at the end of, let say, catalog listing form. Someone has already written the content and wants to add pics, but by mistake used up the allowed limit selecting wrong pics (as I did). The user has to give up the pics, or start over filling up the whole complicated form again. That would be very annoying to the user, and I think to everybody using such website. Please fix that, if you can, and make the script ignoring rejected files, and allow to upload the right ones within the allowed number of files. Thank you.


kossut Purchased

Little update: the same situation is when you just delete one of images, and you try to replace it with another one. This is even worse. So please, really, change that. Thank you so much in advance.


kossut Purchased

Another update: it looks like the problem is only in that last section, where you can add captions. The middle section works fine. Thats a good news:)

Hi Kossut,

Thanks for purchase.

Indeed this is not a Php Form Builder bug, but related to File upload implementation, and specific to the use of captions.

I choose to add caption on a new table row in the File Upload Template, which seemed consistent with the page layout.

Unfortunately, File Upload is counting the rows to limit the number of files.

Here is the solution:

- Open your phpformbuilder/plugins-config/fileupload.xml - Go to images-with-captions > js-code node - Cut the captions td, and paste it to the previous row (

) - Remove the where the captions were before

It’ll work. You can see example at https://www.phpformbuilder.pro/templates/bootstrap-forms/fileupload-test-form.php

If you prefer you can contact me, I’ll send you the updated file.

I also changed the delete button action, to use the proper File Upload plugin callback.


For several years I’ve been using Forms to go. The program builds a php file, I was uploading the php file to my server and placed a link in the html to the php. The html included a foundation designed form. With your solution I have to insert a lot of code in my html and I’m a bit “scared” to overload the page with code and links to outside css that can slow down the page. Can you please explain why it’s necessary and what are the benefits of your solution over the previous solution? And are there any advantages over using a third party solution like Wufoo? Sorry for the long question… Eddie


Long question: long answer. There’s a lot to say.

  1. Unlike Form to go, Php Form Builder will build your HTML form. You don’t have to write complex HTML code. It can deal with all types of layouts, fields, grouped fields, icons, ... (see Templates)
  2. In many situations, you’ll want to add jQuery plugins to improve UI: date/time pickers, live validation, customized select lists, rich text editor, ...
    • Without Php Form Builder, you have to include plugins files (css/js) manually, and write all specific JS code.
    • With Php Form Builder, you write a single line of code and can use prebuilt configurations.
  3. About page loading:
    • If you don’t use any jQuery plugin, you don’t have to load any css/js files. Just call $form->render();
    • If you use jQuery plugins, no matter the builder you use, you have to include plugins files. Php Form Builder will combine and minify all the used css/js files. So optimization is really, really at it’s maximum.
  4. You can do anything you want with Database & Emails. Deal with Emails templates, add your owns.
  5. You have a total control on form layout and HTML, plugins, emails & database. You can deal easily with complex features like dependent fields, step forms or dynamic fields.

To resume: – About optimization, Php Form Builder couldn’t be more optimized for fast loading than it currently is. – About features: If you find something missing, please tell me.

I hope I’ve been a good lawyer for my item!


semantic ui forms?


Please explain. Do you want to make forms with basic markup and no framework? This can be done easily with main options.

Can I independently assign an action for each form?

Hi Ramstud,

Yes, you can do anything you want with each form and the corresponding posted values. Use $form->setAction(‘http://...') to post to another url. https://www.phpformbuilder.pro/documentation/class-doc.html#setAction


Thank you. Your script is the best I’ve seen so far. I think to buy it.

Thanks! You’re right, I know this script is great, and hope you’ll enjoy it. Come back with any question whenever you want

271/5000 Hello, I purchased phpformbuilder but did not send mail. You can see the page http://www.seoservice72.it/contatti.html The theme used and contat form1. If the mail does not arrive, the form is not usable, so I ask you to resolve the issue. Alessandro BAfffioni

Hi Alessandro,

Thanks for purchase. Please:
  1. Open phpformbuilder/mailer/email-sending-test.php in your editor
  2. Change ‘setFrom’ to an email sender from your domain (i.e. contact@addressseoservice72.it)
  3. Upload it on your server and open the page in your browser
  4. Then fill the email field with your email address and send.
If you get an error, you may have to ask your hosting provider to enable the php mail() function on your server.

If it doesn’t help, please send me your ftp and url, I’ll see what happens.


GREAT customer support helped me alot.

Thanks Richard – You can rate if you want in your “download” tab

Hello, we just bought (#db11ff7c-5f09-466e-8bcf-fb682b9dce64) php form builder and installed to our system but first we received error 500 that was solved with php upgrade but now we are receiving Warning: include_once error. we tried to solve this issue depending on your documentation but we could not do it. please help to us, thank you.

our ftp.hsfsavunma.com username hsfsav5 password has130710sev

I opened your ftp but didn’t find the phpformbuilder folder. Please upload it and come back to me.

please advise your private email, thank you

Validation multilanguage support. How can I do Russian language support?

You have a great script. I fell in love with him. I would only add protection against use on multiple domains. One sale is one domain.

I sent you the Ukrainian and Russian

Thanks a lot, I’ll publish them in the next release, including the new Bootstrap 4.

About the domain restriction, this is already the way it works with Envato regular license. We assume Codecanyon’s buyers are all as honest as you are. I’m sure it’s true, we live in a wonderful world like Louis Armstrong said.

hello, i’m sorry, but PHP Form Builder doesn’t match what i intended… for my skills is really unusable… can you provide a refound ?


Instead of refund please can you contact me and explain briefly what sort of form(s) you want to build?

I’ll do my best to help, and I’m quite sure it’s the best solution for you.


Can the Car Rental Form do the following:

1. General a unique ID for each submission? 2. Get a price value from an existing PHP function and use in the form’s calculation? 3. Calculate the number of days based on pick-up and drop-off dates? 4. Facilitate discounts based on the amount of days? 5. Calculate Total based on price, insurance and tax? 5.1 Price, Insurance, Tax and Discounts are based on conditions. 6. Send email to me and person booking with all the information including ID and Total?


Php Form Builder can do all of this, you’ll have to program your jQuery and PHP functions like you would do with and standard PHP form.

Presale questions:

Let me give you a bit of context before I ask my questions. I am looking for some sort of needs analysis form where I can create a form template that can be used over and over again for different clients. Each client having their own personal information entered in that form which can then be saved and stored somewhere and be edited at any time by the admin/me?

1. Is it possible to have a directory where all submitted forms are kept? This can only be viewed by me of course. 2. Use the same form over and over again with unique data and save that data somewhere?

Let me know if this is at all possible.


Hi EnergyFreak,

The best way seems to make a private area somewhere with login for your clients if you want them to be able to edit their own data, and/or a global access for you with access to all your clients’ data.

I’d store all the information in a database rather than a directory with files.

PHP Form Builder can do anything that can be done with PHP, so there’s no restriction, you just have to know how to proceed.

I hope it helps,


Trying to use the file uploader plugin. The functionality I am shooting for is a bit different then what is built in. Need to gather some more information about the image being uploaded. Your example is using ajax to upload the file…it seems. I need it to process on a form submit so I can send the rest of the data to db. I have two options, figure out how to get the plugin to work for my needs or find a way to change the enctype when creating a new form. Then I can use my own. Any feedback would be great.


You’ve got several ways to do this:

1. The file upload plugin’s settings are in phpformbuilder/plugins-config/fileupload.xml. You can customize and add a callback (after L.243, “acceptFileTypes”

2. The images are uploaded in phpformbuilder/images/uploads/
You can change this in phpformbuilder/plugins/jQuery-File-Upload/server/php/imageFileUpload.php L.22/23 Once your form is posted, you can get uploaded files data with PHP:
$path = rtrim($_SERVER['DOCUMENT_ROOT'], DIRECTORY_SEPARATOR) . '/phpformbuilder/images/uploads/';
$img = $path . $_POST['img'];
3. You can use a simple file field:
$form->addInput('file', ...);
4. You can change the enctype and use any other uploader:
$form = new Form('my-form', 'horizontal', 'enctype=multipart/form-data');



nolybom Purchased

Hi, thank you for all the work you put in this amazing library. Lurning curve is actually also quite reasonable. Can’t say that i am quite there where i want to be, but i am on my way. ;) Hope you can help once if questions occur and i didn’t find someone asked that or a similar question in the comments.

Unfortunately putting the credentials in the “PHP Mailer default settings” is not an option since different forms will be sent from different emails (contact, signup, apply, support, etc.). Could you please post a detailed How-to so that the community will profit from it in the future as well. I don’t think i missed it in the docs, did i? Maybe it makes sense to put a one time effort in updating the docs instead of keep answering the same questions here.

I know this is a php form builder and not a mysql and i guess you are being in the docs therefor very limited on how to set it up, connect and where to place which line of code. But since it is a feature in your script to write to database i think it would be a huge timesaver for plenty of people who would like to enable one of these script-features.

I would be and i am very thankful for your support and kindly asking you for directions. Sending links to external platforms doesn’t really help since your script has it’s own structure and dependencies which i guess you know best.



nolybom Purchased

Applaus Applaus :) Thank you very much for assisting. Your structure makes total sense.

Quick one: For redirecting to a thank-you-page just do this right? header(‘Location: URI ‘);

Thanks to you Nolybom ; yes, the best way to redirect is header after all’s done.

If you need anything else you’re welcome, don’t hesitate to rate Form Builder if you want, it’s always welcome too.



nolybom Purchased

I definitely will. Support is already 5*.

You have a very comprehensive form builder. Well done.


migli Author

Hi Wilbertchhua,

Thanks so much – If you need any help or have any comment you’re welcome



nolybom Purchased


i am currently struggeling with the recaptcha and have two questions:

1. it seems like the recaptcha is only validated on the server side (at least on the m-sign-up-modal-form-1) How can we display an error before the form is being submitted, because otherwise the form gets submitted and user gets on same page with closed remodal and has no clue if everything was successful.

2. Is it possible to integrate multiple forms with recaptcha?

Here is a snippet if you need it:

var onloadCallback = function() {
        recaptcha1 = grecaptcha.render('captcha', {
          'sitekey' : '_123456789_'
        recaptcha2 = grecaptcha.render('captcha2', {
          'sitekey' : '_234567890_'


// Reset reCaptcha



migli Author

Hi Nolybom,

1. Thanks for reporting. The modal reopens on all but recaptcha errors.

To solve this, please open your Form main class ( phpformbuilder/Form.php), and replace L.1469 this way:
// Current version
$this->addHtml('<p class="' . $this->options['textErrorClass']. '">' . $this->recaptcha_error_text . '</p>');

// Replace with this:
$this->addHtml('<p class="has-error ' . $this->options['textErrorClass']. '">' . $this->recaptcha_error_text . '</p>');

It’ll be done in the next release.

2. It’ll be possible in the next release. Can you please contact me? I’ll send you the files.