hus123 Posted March 18, 2008 Share Posted March 18, 2008 :'( hi there, i have a simple form which i created using php with a submit button which sends the details to a mysql database once it is pressed. i am having difficulty with creating a validation for the email (for example should include the @ sign etc). can anyone help me please? Quote Link to comment Share on other sites More sharing options...
Jeremysr Posted March 18, 2008 Share Posted March 18, 2008 Here's how to use regex to validate it (I got it from regular-expressions.info): $email_is_valid = preg_match('/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i', $email); Quote Link to comment Share on other sites More sharing options...
AdRock Posted March 18, 2008 Share Posted March 18, 2008 function check_email_address($email) { // First, we check that there's one @ symbol, and that the lengths are right if (!ereg("^[^@]{1,64}@[^@]{1,255}$", $email)) { // Email invalid because wrong number of characters in one section, or wrong number of @ symbols. return false; } // Split it into sections to make life easier $email_array = explode("@", $email); $local_array = explode(".", $email_array[0]); for ($i = 0; $i < sizeof($local_array); $i++) { if (!ereg("^(([A-Za-z0-9!#$%&'*+/=?^_`{|}~-][A-Za-z0-9!#$%&'*+/=?^_`{|}~\.-]{0,63})|(\"[^(\\|\")]{0,62}\"))$", $local_array[$i])) { return false; } } if (!ereg("^\[?[0-9\.]+\]?$", $email_array[1])) { // Check if domain is IP. If not, it should be valid domain name $domain_array = explode(".", $email_array[1]); if (sizeof($domain_array) < 2) { return false; // Not enough parts to domain } for ($i = 0; $i < sizeof($domain_array); $i++) { if (!ereg("^(([A-Za-z0-9][A-Za-z0-9-]{0,61}[A-Za-z0-9])|([A-Za-z0-9]+))$", $domain_array[$i])) { return false; } } } return true; } that is the function for checking an email address if(!check_email_address($email)) { $message="Email address in invalid format"; } how you would check the email address Quote Link to comment Share on other sites More sharing options...
hus123 Posted March 18, 2008 Author Share Posted March 18, 2008 hey thanks for the reply, i tried the code but it still seems to be sending the data straight to the database once the submit button is pressed. any idea what i can do ?? Quote Link to comment Share on other sites More sharing options...
AdRock Posted March 18, 2008 Share Posted March 18, 2008 can you post your script? Quote Link to comment Share on other sites More sharing options...
hus123 Posted March 18, 2008 Author Share Posted March 18, 2008 i do not have the code with me at the moment, but from what i remmeber the email section looks something like this. thanks alot for this. <? enter your email : <br /> <input type=\"text\" name=\"email\" value=\"email\"> <br /> <br /> <input type=\"submit\" value=\"submit\"><br /><br />"; if($_GET['action'] == 'form') { $sql="INSERT INTO $tbl_name(email)VALUES(''$email')"; $result=mysql_query($sql); } ?> Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.