Reply to Re: [PHP] recommended way for server side validation - include in same file or have a different file

Your name:

Reply:


Posted by Leif Gregory on 03/08/05 16:48

Hello Vinayakam,

Tuesday, March 8, 2005, 4:11:43 AM, you wrote:
V> However in the second case, in case of an error, displaying the
V> data becomes an issue.

V> Any recommended ways for server side validation


I usually do the updates in the same file unless there are a lot of
different things going on (inserts, updates, deletes etc), then I'll
break it out into separate files. However, I do almost always have an
included file with all my error checking code.

So, let's say in the main page(let's call it index.php) where we're
filling out a form, we have the following three items:

formFirstName
formLastName
formEmployeeNumber

We submit and the action is PHP_SELF

At the top of index.php is an include for errorhandler.php which only
happens if $_POST['submit'] == "Submit"

errorhandler.php includes functions.php at the top and
errorhandler.php looks like this:

validateString('firstName', $_POST['formFirstName'], 25)
validateString('lastName', $_POST['formLastName'], 25)
validateNumeric('EmployeeNumber', $_POST['formEmployeeNumber'], 5)


functions.php contains all my commonly used functions, and
validateString() might look like this:

function validateString($fieldName, $fieldValue, $size) {
global $errors[];

if ($strlen($fieldValue) <= $size) {
if (does not contain any undesirable characters) {
$errors['$fieldname'] = 0;
}
else {
$errors[0] = "1";
$errors[$fieldName] = "You may only use letters and hyphens.";
}
}
else {
$errors[0] = "1";
$errors[$fieldName] .= "This field is limited to $size characters.";
}
return;
}

Then back in index.php I test $errors[0] to see if there was an error,
if so, I skip over the insert, update or delete and just go back down
to the form and display the error where appropriate.

Note: I didn't test the above code for this explanation.

It gets a bit harder when you have separate files but it's doable.



--
Leif (TB lists moderator and fellow end user).

Using The Bat! 3.0.2.3 Rush under Windows XP 5.1
Build 2600 Service Pack 2 on a Pentium 4 2GHz with 512MB

[Back to original message]


Удаленная работа для программистов  •  Как заработать на Google AdSense  •  England, UK  •  статьи на английском  •  PHP MySQL CMS Apache Oscommerce  •  Online Business Knowledge Base  •  DVD MP3 AVI MP4 players codecs conversion help
Home  •  Search  •  Site Map  •  Set as Homepage  •  Add to Favourites

Copyright © 2005-2006 Powered by Custom PHP Programming

Сайт изготовлен в Студии Валентина Петручека
изготовление и поддержка веб-сайтов, разработка программного обеспечения, поисковая оптимизация