If your page is absolutely white or returns "HTTP ERROR 500" it means you have a php error.
To display error message, you have to enable php display errors.
<?php use phpformbuilder\Form; use phpformbuilder\Validator\Validator; // add the line below to your code : ini_set('display_errors', 1);
PHP Form Builder requires a single file, which is called using php include_once() function :
<?php include_once rtrim($_SERVER['DOCUMENT_ROOT'], DIRECTORY_SEPARATOR) . '/phpformbuilder/Form.php';
If the path to file inside parenthesis is wrong, file is not found.
You've got to find the right path leading to your
OR Try one of the followings, depending on your situation :
phpformbuilderdirectory is not at the root of your project, add beginning directory(ies) to your paths :
<?php // replace "your-dir" with yours in the following line include_once rtrim($_SERVER['DOCUMENT_ROOT'], DIRECTORY_SEPARATOR) . '/your-dir/phpformbuilder/Form.php';
<?php // with a structure like : // contact-form.php // phpformbuilder/Form.php include_once 'phpformbuilder/Form.php'; // with a structure like : // subfolder/contact-form.php // phpformbuilder/Form.php include_once 'assets/phpformbuilder/Form.php';
See Warning: include_once([...]) (same error, same solution)
Open your browser's console (instructions here)
You have to solve all errors you see in console. Errors probably come from your page content, not from phpformbuilder itself.
Be sure you include first jQuery, THEN Bootstrap js, THEN phpformbuilder plugins code :
When you make changes to the form these files are automatically regenerated.
The minified/concatendated files are located in
You can always safely remove the css & js files located in these 2 folders.
They'll be regenerated and refreshed, this can in some cases solve cache issues.
When you're in development, you can call the unminified unconcatenated files this way:
// This will load the unminified unconcatenated files // printIncludes($type, $debug, $display, $combine_and_compress) $form->printIncludes('css', false, true, false); $form->printIncludes('js', false, true, false);
In a few cases, your server may not be correctly configured. Consequence is that the plugins URLs are wrong.
Solution is to set the URL to plugins directory manually:
// Set URL to match your plugins directory $form->setPluginsUrl('http://phpformbuilder/plugins/');
Included templates use a custom version of Bootstrap's css. You'll find it in
Set the correct path from your form to this css :
<!-- Bootstrap CSS - Change path with your own --> <link href="assets/assets/css/bootstrap.min.css" rel="stylesheet">
... Or replace with Bootstrap CDN :
<!-- Bootstrap CSS CDN --> <link href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">
jQuery validation plugin is complex and can have unexpected behaviors if it encounters configuration issues or malformed html.
To solve this :
console.log(un-comment) to find out what's going on