ryanlitwiller Posted April 9, 2014 Share Posted April 9, 2014 I am trying to call a user defined function in an if statement when the condition is true. if($number_of_rows_after>$number_of_rows_before) { myFunction(); echo "this my if"; } else{ echo "this is my else"; } myFunction() is getting called regardless of whether or not my condition is true or false so i will have "this is my else" echoed and myFuction() runs Quote Link to comment Share on other sites More sharing options...
trq Posted April 9, 2014 Share Posted April 9, 2014 I don't believe you. Quote Link to comment Share on other sites More sharing options...
ryanlitwiller Posted April 9, 2014 Author Share Posted April 9, 2014 Well I will try to prove, This is my main php file and the if statement is toward the bottom indexhelp.php // Select the database to work with $db = mysql_select_db('test',$link); if(!$db) { die('Selected database unavailable: ' . mysql_error()); } // Include the Mail package include("sendMail.php"); // import simple_html_dom.php to give me various methods for website selection and scraping include("simple_html_dom.php"); // get DOM from BPL URL $html0 = file_get_html('http://www.backpackinglight.com/cgi-bin/backpackinglight/forums/display_forum.html?forum=19'); $html1 = file_get_html('http://www.backpackinglight.com/cgi-bin/backpackinglight/forums/display_forum.html?offset=25&forum=19'); $html2 = file_get_html('http://www.backpackinglight.com/cgi-bin/backpackinglight/forums/display_forum.html?offset=50&forum=19'); $html3 = file_get_html('http://www.backpackinglight.com/cgi-bin/backpackinglight/forums/display_forum.html?offset=75&forum=19'); function makePage($html) { $link_number = -1;//will use this as a new array key number in a foreach $meta_array = array();//making sure there is an array when functions call upon it to eliminate those errors foreach($html->find('td.forum_listing') as $e) { foreach($e->find('p.meta') as $f){//find all meta id's $meta = $f->plaintext; //echo $meta; $explode_meta = explode(" ",$meta);//explode by spaces and make an array if(!ctype_digit($explode_meta[0])){//only if array value content does not have just positive whole numbers $link_number++;//adds 1 to array key number, same as $link_number = $link_number + 1; //build a new array by key number value and name associations $meta_array[$link_number] = array( "date" => $explode_meta['0'], "time" => $explode_meta['1'], "timezone" => str_replace("by","",$explode_meta['2']), "username_first" => $explode_meta['3'], "username_last" => $explode_meta['4'] ); } } } // find all td tags with class=forum_listing $link_number = -1;//reset number foreach($html->find('td.forum_listing') as $tdTagExt){ foreach($tdTagExt->find('a')as $aTagExt){ $link_number++;//add by one again $title = $aTagExt->plaintext; $href = "http://www.backpackinglight.com".$aTagExt->href; //associating the link and title in a new array $meta_array[$link_number]['title'] = $title; $meta_array[$link_number]['href'] = $href; } } //print_r($meta_array)."<br />";//to see how the array looks //access the new links array foreach($meta_array as $link){ echo "<p>"; echo "<a href='".$link['href']."' target='_blank'>".$link['title']."</a><br />"; echo " Date: ".$link['date']." Time: ".$link['time']." ".$link['timezone']."<br />"; //Posted by: ".$link['username_first']." ".$link['username_last']."<br />"; echo "</p>"; //convert array to string for db $link_href = $link['href']; $link_title = $link['title']; $link_date = $link['date'] . " " . $link['time']; $result = mysql_query("select * from bp"); $number_of_rows_before = mysql_num_rows($result); echo "Number of rows fetched are : ". $number_of_rows_before; //populate db mysql_query("insert into `bp` (`url`,`title`,`date`) values ('$link_href','$link_title','$link_date')"); $number_of_rows_after = mysql_num_rows($result); echo "Number of rows fetched are : ". $number_of_rows_after; // send myself email after every new db entry if($number_of_rows_after>$number_of_rows_before) { sendMail(); echo "this my if"; } else{ echo "this is my else"; } } } makePage($html0); makePage($html1); makePage($html2); makePage($html3); // Close the connection mysql_close($link); ?> here is my sendMail.php which has my sendMail function <?php function sendMail() { // Include the Mail package require "Mail.php"; // Identify the sender, recipient, mail subject, and body $sender = "litwi1rm@gmail.com"; $recipient = "litwi1rm@gmail.com"; $subject = "Test mail"; $body = "New Post!"; // Identify the mail server, username, password, and port $server = "ssl://smtp.gmail.com"; $username = "litwi1rm@gmail.com"; $password = "*********"; $port = "465"; // Set up the mail headers $headers = array( "From" => $sender, "To" => $recipient, "Subject" => $subject ); // Configure the mailer mechanism $smtp = Mail::factory("smtp", array( "host" => $server, "username" => $username, "password" => $password, "auth" => true, "port" => 465 ) ); // Send the message $mail = $smtp->send($recipient, $headers, $body); if (PEAR::isError($mail)) { echo ($mail->getMessage()); } } sendMail() ?> My live site is http://php-ryanlitwiller.rhcloud.com/indexhelp.php and even when my else echo is displayed on the screen I still get an email from my sendMail() function Quote Link to comment Share on other sites More sharing options...
Solution Ch0cu3r Posted April 9, 2014 Solution Share Posted April 9, 2014 Umm... look at line 45 of sendMail.php Quote Link to comment Share on other sites More sharing options...
ryanlitwiller Posted April 9, 2014 Author Share Posted April 9, 2014 opps...lol Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.