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 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"; } ?> Link to comment https://forums.phpfreaks.com/topic/233026-form-input-question/#findComment-1198472 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.