|
|
|
Problem: Certain form fields should be required, but we don't want to
hard-code these in as an array. We want to pull the required field names
from a database so our code is more extensible. Then, we want to check each
form field submitted, see if it is required, and if so, generate an error
message if that required field is blank.
Solution: There are several parts to the solution. First of all, create a
database table with all of the form field names, and whether or not they
are required. (I went further and created type of form field, default
value, etc. so I could generate the entire form from a database.) Here's a
basic table with what you need:
field_name required
fname yes
lname yes
wphone no
Next, create your form with ALL form field names being an array. For this
example, I use the array add[]. A sample form field pulled from a database
would look like this:
<input type=\"text\" name=\"add[$field_name]\"
size=\"$size\" value=\"$default_value\">
Here is the code that parses the form and checks for required fields:
# check to make sure required fields are filled in
$query = "select field_name from form_fields where
required=\"yes\"";
$result = mysql_query ($query) or die ("The server is down. Here's
what
MySQL said: " . mysql_error());
$required_fields = array();
while ($row = mysql_fetch_array ($result)) {
$field_name = $row['field_name'];
array_push ($required_fields, $field_name);
};
while(list($key,$val) = each($required_fields)) {
if (!strlen($add[$val])) {
$errors[$key] = "$val is a required field.";
# above line will store the form field name,
e.g. "fname is a required
field."
};
}; # END WHILE
if(is_array($errors)) {
while(list($key,$val) = each($errors)) {
print "Error! $val <br>";
# for every field that is blank, above line
will print "Error:
$field_name is a required field."
# this part can be easily customized.
};
}
else {
# here's where you put the "success" message, add
entries to database, etc.
};
I hope this helps those of you who want to make your forms extensible. I
owe most of this to the PHP mailing list! You guys ROCK!
Erica
|
|
| This program allows you to upload an ODBC ressource - i.e. an MS-Access database to a MySQL server. Categories : Databases, MySQL, Complete Programs, PHP, Databases | | | PHP and MySQL scripting for Muyltiple CheckBoxes Categories : HTML and PHP, MySQL, Databases, PHP | | | A PHP useradmin for MySQL. Uploading is easy. The only thing you need is
PHP and MySQL installed! Categories : MySQL, Databases, PHP, HTML and PHP | | | dynamic table columns Categories : PHP, HTML and PHP, Arrays, Databases, MySQL | | | Pull Down Surfing - Surf on Change Categories : Java Script, MySQL, HTML and PHP, PHP, Databases | | | Using MySQL ENCODE / DECODE with PHP & HTML Categories : PHP, HTML and PHP, Databases, MySQL | | | Complex paging with no resultset limit Categories : PHP, MySQL, Databases, Output Control, HTML and PHP | | | Functions for loading images into a MySQL database and displaying them. Categories : Graphics, HTML and PHP, MySQL, PHP, Databases | | | phpFormGenerator for Dynamic Form Generation from MySQL Categories : PHP, PHP Classes, MySQL, Databases, HTML and PHP | | | Dynamically generated pop-ups (Select items) Categories : PHP, HTML and PHP, MySQL, Databases | | | Message of the Day - Random Message (Needs MySQL!) Categories : Databases, HTML and PHP, PHP, MySQL | | | mySQL/PHP/search with multientry
form and table output with colored rows Categories : PHP, Beginner Guides, MySQL, HTML and PHP, Databases | | | Creating thumbnails from MySQL Blobs online Categories : PHP, MySQL, Graphics, HTML and PHP, Databases | | | Alternating background color for HTML table rows Categories : PHP, Databases, MySQL, HTML and PHP | | | Database resultset navigation Categories : PHP, HTML and PHP, Databases, MySQL, Navigation | |
|
|