Mrbagino Posted December 1, 2012 Share Posted December 1, 2012 (edited) Dear all, I have some problem with my php code i try to make some XML and PHP Content managmant system, but i have now some problem with the root? He give the next error: Fatal error: Call to a member function root() on a non-object in /home/......./public_html/searchArticles.php on line 29 See here my code please: <?php session_start(); $results = array(); //this is a very simple, potentially very slow search function extractText($array){ if(count($array) <= 1){ //we only have one tag to process! for ($i = 0; $i<count($array); $i++){ $node = $array[$i]; $value = $node->get_content(); } return $value; } } $dh = opendir('./xml/'); while ($file = readdir($dh)){ if (eregi("^\\.\\.?$", $file)) { continue; } $open = "./xml/".$file; $xml = "domxml_open_file" .$open; //we need to pull out all the things from this file that we will need to //build our links $root = $xml->root("id"); $id = $root->get_attribute("id"); $stat_array = $root->get_elements_by_tagname("status"); $status = extractText($stat_array); $k_array = $root->get_elements_by_tagname("keywords"); $keywords = extractText($k_array); $h_array = $root->get_elements_by_tagname("headline"); $headline = extractText($h_array); $ab_array = $root->get_elements_by_tagname("abstract"); $abstract = extractText($ab_array); if ($status != "live"){ continue; } if (eregi($searchTerm, $keywords) or eregi($searchTerm,$headline)){ $list['abstract'] = $abstract; $list['headline'] = $headline; $list['file'] = $file; $results[] = $list; } } $results = array_unique($results); ?> <h1>Search Results</h1> <a href="index.php">back to main</a> <p>You searched for: <i><?php echo $searchTerm ?></i></p> <hr> <?php if (count($results)>0){ echo "<p>Your search results:</p>"; foreach ($results as $key => $listing){ echo "<br><a href=\"showArticle.php?file=".$listing["file"]."\">" . $listing["headline"]."</a>\n"; echo "<br>". $listing["abstract"]; echo "<br>"; } } else { echo "<p>Sorry, no articles matched your search term.</p>"; } ?> I hope for some sugestions, Thanks a lot! Edited December 1, 2012 by PFMaBiSmAd removed wysiwyg micro-font format and changed quote->code tags Quote Link to comment https://forums.phpfreaks.com/topic/271446-my-php-code-give-some-strange-problem/ Share on other sites More sharing options...
Barand Posted December 1, 2012 Share Posted December 1, 2012 (edited) You should have this instead - call a function instead of just creating a string $xml = domxml_open_file($open); Edited December 1, 2012 by Barand Quote Link to comment https://forums.phpfreaks.com/topic/271446-my-php-code-give-some-strange-problem/#findComment-1396724 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.