Variable passed to each() is not an array or object


Posted on 16th Feb 2014 07:03 pm by admin

Hi,

This is a email a friend type of form, and it isn't working anymore.

<?

function validate_email($email, $location) {
$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
$file_t = $location . "functions/tld.txt";
$tlds = file($file_t);
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;
}

?>

These are the errors I get:

Warning: failed to open stream: No such file or directory on line 46

Warning: Variable passed to each() is not an array or object on line 47

Warning: eregi() [function.eregi]: REG_EMPTY on line 58

Could someone please help me.

Thank you

No comments posted yet

Your Answer:

Login to answer
140 Like 5 Dislike
Previous forums Next forums
Other forums

calendar dates and hours compare problem
i have a calendar in wordpress, everything works great except that i can make 2 meetings at the same

my two tables
table1 : col1 = topicid , col2 = topic

table2 : col1 = sentid, col2 = sentence

Cod

radio button reamains checked
Hello i'm trying to keep the state off my radio buttons so it shows which ones where clicked after t

CHECK A STRING FOR ' " ' (DOUBLE QUOTES)
I am checking for delimiter (.!?) and if there is a " after a sentence then it should neglect a

Quick Question about echo value
Hey guys, I'm trying to get something to show differently in one of my scripts. I'm trying to make

How to use php and sql to check if values match the ones in a table (for logins)
How would I code it that the script takes two variables that are passed to it (UserID and PIN), and

Find occurences of unicode characters in string
I need to prohibit filenames with everything but English characters and numbers but regexp and strin

parse error
On my local machine I keep getting parse error for my footer. When I put it online, it doesn't show

Post, not working, please help
The error is:
Method Not Allowed
The requested method POST is not allowed for the URL /student

Pass sql into pl/sql and create RMAN duplicate script.
Hi,

I'm new to pl/sql and I'm trying to write a script that will generate some RMAN comma

Sign up to write
Sign up now if you have flare of writing..
Login   |   Register
Follow Us
Indyaspeak @ Facebook Indyaspeak @ Twitter Indyaspeak @ Pinterest RSS



Play Free Quiz and Win Cash