jamiet757 Posted January 29, 2010 Share Posted January 29, 2010 I have a script that checks to see if an email address is already in the database before a user can register, for some reason it isn't working right, but I don't know why. Here is what I have so far: <?php include("../admin/function/db.php"); include("JsHttpRequest.php"); $JsHttpRequest =& new JsHttpRequest($mtg); $email=result3($_REQUEST['email']); if($_REQUEST['email']=="" or !preg_match("/[\.\-_A-Za-z0-9]+?@[\.\-A-Za-z0-9]+?[\.A-Za-z0-9]{2,}/",$_REQUEST['email'])) { echo("<span class='error'>".word_lang("incorrect")."</span>"); } else { $sql="select email from users where email='".$email."'"; $rs->open($sql); if(!$rs->eof) { echo("<span class='error'>".word_lang("serror2")."</span>"); } else { echo("<span class='ok'>".word_lang("ok2")."</span>"); } } ?> I think the problem lies in the preg_match section, but I haven't a clue how it should be formatted. Link to comment https://forums.phpfreaks.com/topic/190182-simple-regex-email-check/ Share on other sites More sharing options...
Andy-H Posted January 29, 2010 Share Posted January 29, 2010 filter_input can be used with the FILTER_VALIDATE_EMAIL flag to check for validity of email formats. in your case it would be filter_input(INPUT_REQUEST, 'email', FILTER_VALIDATE_EMAIL) != $_REQUEST['email'] Link to comment https://forums.phpfreaks.com/topic/190182-simple-regex-email-check/#findComment-1003400 Share on other sites More sharing options...
jamiet757 Posted January 29, 2010 Author Share Posted January 29, 2010 I replaced the original with this: if($_REQUEST['email']=="" or filter_input(INPUT_REQUEST, 'email', FILTER_VALIDATE_EMAIL) != $_REQUEST['email']) But I get this error now: Warning: filter_input() [function.filter-input]: INPUT_REQUEST is not yet implemented in check_email.php on line 9 Link to comment https://forums.phpfreaks.com/topic/190182-simple-regex-email-check/#findComment-1003404 Share on other sites More sharing options...
Andy-H Posted January 29, 2010 Share Posted January 29, 2010 Ahh, sorry about that, just read the manual on it. filter_var($_REQUEST['email'], FILTER_VALIDATE_EMAIL) === false Try that instead. Link to comment https://forums.phpfreaks.com/topic/190182-simple-regex-email-check/#findComment-1003405 Share on other sites More sharing options...
jamiet757 Posted January 29, 2010 Author Share Posted January 29, 2010 Great thanks, that worked like a charm! Link to comment https://forums.phpfreaks.com/topic/190182-simple-regex-email-check/#findComment-1003407 Share on other sites More sharing options...
Andy-H Posted January 29, 2010 Share Posted January 29, 2010 No problem mate Glad I could help, could you set the topic as solved please. (The solved button is at the bottom left in a green box, just in case you didn't know ) Link to comment https://forums.phpfreaks.com/topic/190182-simple-regex-email-check/#findComment-1003409 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.