Bug #6370: fsockopen() causes mysql_insert_id() to error
| From: | chris at agweb dot net | Date: | Sat, 26 Aug 2000 19:31:24 +0000 |
| Subject: | Bug #6370: fsockopen() causes mysql_insert_id() to error | ||
| Groups: | php.dev | ||
| Request: | Send a blank email to php-dev+get-30783@lists.php.net to get a copy of this message | ||
From: chris@agweb.net
Operating system: Linux 2.2.13
PHP version: 3.0.15
PHP Bug Type: Misbehaving function
Bug description: fsockopen() causes mysql_insert_id() to error
I added the following validate email function to my script and I then got error (see error) message.
I narrowed it down to the fsockopen() line in the validate email function. If I rem out that line
then the mysql_insert_id() function works correctly.
Error message:
Warning: 1 is not a MySQL link index in /home/chris/public_html/chicorentals/confirm.php3 on line 94
Verify email address function:
function validateEmail ($email){
global $SERVER_NAME;
$return = array(false, "" );
list ($user, $domain) = split( "@", $email, 2);
$arr = explode( ".", $domain);
$count = count ($arr);
$tld = $arr[$count - 2] . "." . $arr[$count - 1];
if(checkdnsrr($tld, "MX")) {
if(getmxrr($tld, $mxhosts, $weight)) {
for($i = 0; $i < count($mxhosts); $i++){
$fp = fsockopen($mxhosts[$i], 25);
if ($fp){
$s = 0;
$c = 0;
$out = "";
set_socket_blocking($fp, false);
do {
$out = fgets($fp, 2500);
if(ereg( "^220", $out)){
$s = 0;
$out = "";
$c++;
}
else if(($c > 0) && ($out == "")){
break;
}
else {
$s++;
}
if($s == 9999) {
break;
}
} while($out == "");
set_socket_blocking($fp, true);
fputs($fp, "HELO $SERVER_NAME\n");
$output = fgets ($fp, 2000);
fputs($fp, "MAIL FROM: <info@" . $tld . ">\n" );
$output = fgets($fp, 2000);
fputs($fp, "RCPT TO: <$email>\n");
$output = fgets($fp, 2000);
if(ereg( "^250", $output )) {
$return[0] = true;
}
else {
$return[0] = false;
$return[1] = $output;
}
fputs ($fp, "QUIT\n");
fclose($fp);
if($return[0] == true){
break;
}
}
}
}
}
return $return;
}
Configure command: ./configure '--with-mysql=/usr/local/mysql' '--with-imap'
'--with-gd=/usr/local/gd1.3' '--with-apache=/usr/local/apache_1.3.9'
'--enable-track-vars'
php3.ini file path is set to: /usr/local/lib