shinytoygun Posted April 7, 2011 Share Posted April 7, 2011 Hey Everyone, My website asks for an email address when one registers but I want to put a limit it on it (like to register you gotta have an email address from a specific domain). How can I edit the form input to do this? Any help will be greatly appreciated, thanks -STG Quote Link to comment https://forums.phpfreaks.com/topic/233026-form-input-question/ Share on other sites More sharing options...
dawsba Posted April 7, 2011 Share Posted April 7, 2011 on your post handler script have something similr to this: <? function validEmail($email) { $isValid = true; $atIndex = strrpos($email, "@"); if (is_bool($atIndex) && !$atIndex) { $isValid = false; } else { $domain = substr($email, $atIndex+1); $local = substr($email, 0, $atIndex); $localLen = strlen($local); $domainLen = strlen($domain); if ($localLen < 1 || $localLen > 64) { $isValid = false; } else if ($domainLen < 1 || $domainLen > 255) { $isValid = false; } else if ($local[0] == '.' || $local[$localLen-1] == '.') { $isValid = false; } else if (preg_match('/\\.\\./', $local)) { $isValid = false; } else if (!preg_match('/^[A-Za-z0-9\\-\\.]+$/', $domain)) { $isValid = false; } else if (preg_match('/\\.\\./', $domain)) { $isValid = false; } else if(!preg_match('/^(\\\\.|[A-Za-z0-9!#%&`_=\\/$\'*+?^{}|~.-])+$/', str_replace("\\\\","",$local))) { if (!preg_match('/^"(\\\\"|[^"])+"$/', str_replace("\\\\","",$local))) { $isValid = false; } } if ($isValid && !(checkdnsrr($domain,"MX") || checkdnsrr($domain,"A"))) { $isValid = false; } } return $isValid; } function dcheck($email,$domains=NULL) { if(validEmail($email)) { $tld = explode('@',$email); if($domains==NULL){return true;} if(in_array($tld[1],$domains)){return true;} } return false; } $allowed_domains = array('hotmail.com','msn.com'); $emailok = dcheck('[email protected]',$allowed_domains); if($emailok) { echo "EMAIL EXISTS AND IS IN ALLOWED LIST"; } else { echo "EMAIL DOES NOT EXISTS OR NOT IN ALLOWED LIST"; } ?> Quote Link to comment https://forums.phpfreaks.com/topic/233026-form-input-question/#findComment-1198472 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.