e39m5 Posted March 5, 2006 Share Posted March 5, 2006 Ok, I just did a bunch of looking around and found some ways to validate a form. I am trying to just validate the form, no sending to the database yet. I am using 2 different files, one for the functions, and one for the form and actual validation. When I hit submit, I get no feedback, and everything in the boxes dissappear. Here is the link to it running:[a href=\"http://anylance.blogmyway.com/registration.php\" target=\"_blank\"]http://anylance.blogmyway.com/registration.php[/a]These are the files:functions.php[code]<?phpfunction isLetters($element) { return !preg_match ("/[^A-z]/", $element);}function checkLength($string, $min, $max) { $length = strlen ($string); if (($length < $min) || ($length > $max)) { return FALSE; } else { return TRUE; }}function checkEmail($email) { $pattern = "/^[A-z0-9\._-]+" . "@" . "[A-z0-9][A-z0-9-]*" . "(\.[A-z0-9_-]+)*" . "\.([A-z]{2,6})$/"; return preg_match ($pattern, $email);}function isSame($string1, $string2) { if ($string1 != $string2) { return FALSE; } else { return TRUE; }}function checkPhone($phonenumber,$useareacode=true) { if ( preg_match("/^[ ]*[(]{0,1}[ ]*[0-9]{3,3}[ ]*[)]{0,1}[-]{0,1}[ ]*[0-9]{3,3}[ ]*[-]{0,1}[ ]*[0-9]{4,4}[ ]*$/",$phonenumber) || (preg_match("/^[ ]*[0-9]{3,3}[ ]*[-]{0,1}[ ]*[0-9]{4,4}[ ]*$/",$phonenumber) && !$useareacode)) return eregi_replace("[^0-9]", "", $phonenumber); return FALSE;}?>[/code] registration.php[code]<html><head><!--QrV3s1--><title>AnyLance - Anything You Need At Any Price You Want</title><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><STYLE TYPE="text/css"><!--BODY { font-family:Arial; font-size:12px; }td { font-family:Arial; font-size:12px; color:003333; }--></STYLE></head><?phprequire_once ('functions.php');$valid = TRUE;if (isset ($_POST['submit'])) { foreach($_POST as $key=>$value) { $$key = $value; } $valid = $fn = checkLength($fname, 1, 30); $us = checkLength($username, 5, 30); $valid = $valid && $us; $fn2 = isLetters($username); $valid = $valid && $fn2; $em = checkEmail($email); $valid = $valid && $em; $ps2 = $password == $passwordc; $valid = $valid && $ps2; $em2 = $email == $emailc; $valid = $valid && $em2; $ph = checkPhone($number); $valid = $valid && $ph; if ($valid) { echo "Form filled successfully!"; exit; }} else { $fn = $ln = $us = $ph = $fn2 = $em = $ps = $ps2 = $em2 = TRUE;}?><body bgcolor="#FFFFFF" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0"><BR><table width="750" border="0" cellpadding="0" cellspacing="0"><TR><TD width=750><font style="font-family:arial;font-size:20px;color:000000;"><h4>Client Registration:</h4></font><BR><center><table width="80%" border="1" bgcolor="whitesmoke" bordercolor="006666" cellpadding="8" cellspacing="0"><TR><TD width="80%"><form name="registerc" action="registration.php" method="post"><table width="100%" border="0" cellpadding="0" cellspacing="0"><TR><TD width="100%" colspan="2"><B>Registering at AnyLance is easy. Just fill in all of the blanks, and you're ready to go!</B><BR><font color="red"><?php if(!$us) echo 'Username must be between 5 - 30 characters long<br />'; ?><?php if(!$ps2) echo 'Passwords do not match<br />'; ?><?php if(!$em2) echo 'Emails do not match<br />'; ?><?php if(!$em) echo 'Emails not valid<br />'; ?><?php if(!$fn) echo 'Please enter your first name<br />'; ?><?php if(!$fn2) echo 'Only letters in first name<br />'; ?><?php if(!$ph) echo 'Please enter a valid phone number, use xxx-xxx-xxxx format<br />'; ?></font><BR></td></tr><TR><TD width=50%>  Username:</TD><td width="50%"> </td></TR><TR><TD width=50%><input type="text" name="username"></TD><td width="50%">  Already registered with AnyLance? Click Here!</td></TR><TR><TD width="100%" colspan="2" height="10"> </TD></TR><TR><TD width=50%>  Password:</TD><td width="50%">  Re-Enter Password:</td></TR><TR><TD width=50%><input type="password" name="password"></TD><TD width=50%><input type="password" name="passwordc"></TD></tr><TR><TD width="100%" colspan="2" height="10"> </TD></TR><TR><TD width=50%>  Email:*</TD><td width="50%">  Re-Enter Email:*</td></TR><TR><TD width=50%><input type="text" name="email" size="30"></TD><TD width=50%><input type="text" name="emailc" size="30"></TD></tr><TR><TD width="100%" colspan="2" height="10"> </TD></TR><TR><TD width=50%>  First Name:*</TD><td width="50%">  Phone Number:*</td></TR><TR><TD width=50%><input type="text" name="fname" size="30"></TD><TD width=50%><input type="text" name="number" size="30"></TD></tr><TR><TD width="100%" colspan="2" height="10"><font style="font-family:arial;font-size:10px;color:003333;">  Your Email, First Name, and Phone Number will only be visible to bidders whose services you accept. Your email will also be used to send you updates about your project.</TD></TR></TABLE><BR><CENTER><input type="submit" value="Register"></CENTER></FORM></TD></TR></TABLE></center></TD></TR></TABLE></body></html>[/code] Any help is appreciated.Thanks,e39m5 Link to comment https://forums.phpfreaks.com/topic/4173-validating-my-form-not-working/ Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.