osCommerce and osCMax shopping cart software forums

Shopping Cart Software

osCommerce with teeth!

 
 

Email Validation Problem

This is a discussion on Email Validation Problem within the osCMax v2 Installation issues forums, part of the osCMax v2.0 Forums category; When a client tries to open a new account and their email address has numbers or an underscore in the ...


Go Back   osCommerce and osCMax shopping cart software forums > osCMax v2.0 Forums > osCMax v2 Installation issues

Register FAQ Members List Calendar Mark Forums Read


Free community membership! Fast easy FREE membership
Reply

 

LinkBack Thread Tools
  #1  
Old 11-29-2007, 08:50 PM
Lurker
 
Join Date: Sep 2007
Posts: 2
Thanks: 0
Thanked 0 Times in 0 Posts
Rep Power: 0
isa-aust is on a distinguished road
Default Email Validation Problem

When a client tries to open a new account and their email address has numbers or an underscore in the user they receive the following:
Your E-Mail Address does not appear to be valid - please make any necessary corrections.

Can someone show me how to add what is required to allow these email addresses.

The following is my validations.php
PHP Code:
 <?php

  
////////////////////////////////////////////////////////////////////////////////////////////////
  //
  // Function    : tep_validate_email
  //
  // Arguments   : email   email address to be checked
  //
  // Return      : true  - valid email address
  //               false - invalid email address
  //
  // Description : function for validating email address that conforms to RFC 822 specs
  //
  //               This function is converted from a JavaScript written by
  //               Sandeep V. Tamhankar (stamhankar@hotmail.com). The original JavaScript
  //               is available at JavaScript Source: Free JavaScripts, Tutorials, Example Code, Reference, Resources, And Help
  //
  // Sample Valid Addresses:
  //
  //    first.last@host.com
  //    firstlast@host.to
  //    "first last"@host.com
  //    "<A href="mailto:first@last"@host.com">first@last"@host.com
  //    first-last@host.com
  //    first.last@[123.123.123.123]
  //
  // Invalid Addresses:
  //
  //    first last@host.com
  //
  //
  ////////////////////////////////////////////////////////////////////////////////////////////////
  
function tep_validate_email($email) {
    
$valid_address true;
    
$mail_pat '^(.+)@(.+)$';
    
$valid_chars "[^] \(\)<>@,;:\.\\\"\[]";
    
$atom "$valid_chars+";
    
$quoted_user='(\"[^\"]*\")';
    
$word "($atom|$quoted_user)";
    
$user_pat "^$word(\.$word)*$";
    
$ip_domain_pat='^\[([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\]$';
    
$domain_pat "^$atom(\.$atom)*$";
    if (
eregi($mail_pat$email$components)) {
      
$user $components[1];
      
$domain $components[2];
      
// validate user
      
if (eregi($user_pat$user)) {
        
// validate domain
        
if (eregi($ip_domain_pat$domain$ip_components)) {
          
// this is an IP address
         
for ($i=1;$i<=4;$i++) {
           if (
$ip_components[$i] > 255) {
             
$valid_address false;
             break;
           }
          }
        }
        else {
          
// Domain is a name, not an IP
          
if (eregi($domain_pat$domain)) {
            
/* domain name seems valid, but now make sure that it ends in a valid TLD or ccTLD
               and that there's a hostname preceding the domain or country. */
            
$domain_components explode("."$domain);
            
// Make sure there's a host name preceding the domain.
            
if (sizeof($domain_components) < 2) {
              
$valid_address false;
            } else {
              
$top_level_domain strtolower($domain_components[sizeof($domain_components)-1]);
              
// Allow all 2-letter TLDs (ccTLDs)
              
if (eregi('^[a-z][a-z]$'$top_level_domain) != 1) {
                
$tld_pattern '';
                
// Get authorized TLDs from text file
                
$tlds file(DIR_WS_INCLUDES 'tld.txt');
                while (list(,
$line) = each($tlds)) {
                  
// Get rid of comments
                  
$words explode('#'$line);
                  
$tld trim($words[0]);
                  
// TLDs should be 3 letters or more
                  
if (eregi('^[a-z]{3,}$'$tld) == 1) {
                    
$tld_pattern .= '^' $tld '$|';
                  }
                }
                
// Remove last '|'
                
$tld_pattern substr($tld_pattern0, -1);
                if (
eregi("$tld_pattern"$top_level_domain) == 0) {
                    
$valid_address false;
                }
              }
            }
          }
          else {
           
$valid_address false;
         }
       }
      }
      else {
        
$valid_address false;
      }
    }
    else {
      
$valid_address false;
    }
    if (
$valid_address && ENTRY_EMAIL_ADDRESS_CHECK == 'true') {
      if (!
checkdnsrr($domain"MX") && !checkdnsrr($domain"A")) {
        
$valid_address false;
      }
    }
    return 
$valid_address;
  }
?>
Thank you in advance for any help
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Sponsored Links
Advertisement
  #2  
Old 01-10-2008, 08:16 PM
michael_s's Avatar
osCMax Developer

 
Join Date: Jul 2002
Location: Phoenix, AZ
Posts: 10,986
Thanks: 80
Thanked 345 Times in 324 Posts
Rep Power: 10
michael_s has a reputation beyond reputemichael_s has a reputation beyond reputemichael_s has a reputation beyond reputemichael_s has a reputation beyond reputemichael_s has a reputation beyond reputemichael_s has a reputation beyond reputemichael_s has a reputation beyond reputemichael_s has a reputation beyond reputemichael_s has a reputation beyond reputemichael_s has a reputation beyond reputemichael_s has a reputation beyond repute
Default Re: Email Validation Problem

I think you would need to add the underscore to the valid characters list:
PHP Code:
$valid_chars "[^] \(\)<>@,;:\.\\\"\[]"
__________________
Michael Sasek
osCMax Developer


  • osCMax Templates - Hundreds of premium quality templates designed for osCMax 2. Loyalty discounts up to 30% off!
    Each purchase supports the osCMax project with much needed funds!

  • xShop for osCMax - Windows Based osCMax administration. Improved workflow, security, speed and convenience.

  • osCMax Hosting - From basic hosting to High Availability, Load Balanced arrays, the most experienced osCMax host. Default multi server configuration for exceptional performance!

  • osCMax Template Tutorial - Learn how to make your own custom templates and how to use the powerful features of the osCMax template system.
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #3  
Old 01-10-2008, 09:52 PM
Lurker
 
Join Date: Sep 2007
Posts: 2
Thanks: 0
Thanked 0 Times in 0 Posts
Rep Power: 0
isa-aust is on a distinguished road
Default Re: Email Validation Problem

I dont suppose I could get you to example that for me and include numbers in the valid characters as well.
Many Thanks
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Sponsored Links
Advertisement
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On

Similar Threads

Thread Thread Starter Forum Replies Last Post
Email Problem yulises osCMax v2 Customization/Mods 0 08-24-2007 02:41 AM
Email problem on webmail n aslo cupons problem jikey osCMax v2 Installation issues 0 10-26-2006 12:43 AM
Email problem if PWA=false eric4444 osCMax v2 Features Discussion 0 03-05-2006 05:27 PM
email problem kellycog osCommerce 2.2 Modification Help 2 09-10-2004 11:27 AM
Email validation issue webguy262 osCommerce 2.2 Installation Help 0 06-24-2004 11:20 AM


All times are GMT -8. The time now is 11:59 AM.


Powered by vBulletin®
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
SEO by vBSEO
http://www.oscmax.com/forums/
Copyright 2008 osCMax