Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

User Registration


booota

Recommended Posts

Posted

Hi all

I am testing oscommerce 2.2a on my local server (XAMPP) with PHP 5.3 in windows 7 environment.

 

when i submit the registration form, it gives me following error

 

Your E-Mail Address does not appear to be valid - please make any necessary corrections.

 

Though there were other deprecated errors which i have corrected...

Now this is what i cant get into... What should i do with it?

Here is my validation file i.e catalog\includes\functions\validations.php

 

/*
 $Id: validations.php 1739 2007-12-20 00:52:16Z hpdl $

 osCommerce, Open Source E-Commerce Solutions
 http://www.oscommerce.com

 Copyright (c) 2003 osCommerce

 Released under the GNU General Public License
*/

 ////////////////////////////////////////////////////////////////////////////////////////////////
 //
 // 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 ([email protected]). The original JavaScript
 //               is available at http://javascript.internet.com
 //
 // Sample Valid Addresses:
 //
 //    [email protected]
 //    [email protected]
 //    "first last"@host.com
 //    "first@last"@host.com
 //    [email protected]
 //    first.last@[123.123.123.123]
 //
 // Invalid Addresses:
 //
 //    first [email protected]
 //
 //
 ////////////////////////////////////////////////////////////////////////////////////////////////
 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 (preg_match('/^(' . $mail_pat . ')(;q=[0-9]\\.[0-9])?$/i', $email, $components)) {
     $user = $components[1];
     $domain = $components[2];
     // validate user
     if (preg_match('/^(' . $user_pat . ')(;q=[0-9]\\.[0-9])?$/i', $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_pattern, 0, -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;
 }

 

Waiting for any kind response... Thanks

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...