RE: [PHP] Re: Include Issues

From: Date: Wed, 16 Jun 2004 23:16:48 +0000
Subject: RE: [PHP] Re: Include Issues
References: 1  Groups: php.general 
Request: Send a blank email to php-general+get-188448@lists.php.net to get a copy of this message
Thank you for the suggestion, worked like a charm. I was using GLOBALS earlier in the script because of the same issue, just wasn't thinking about it for these variables. :-) Thanks, Stephen Craton http://www.melchior.us -----Original Message----- From: Justin Patrin [mailto:papercrane@reversefold.com] Sent: Wednesday, June 16, 2004 5:53 PM To: php-general@lists.php.net Subject: [PHP] Re: Include Issues Stephen Craton wrote: > I have a script that calls a function called conbox. This function > creates the HTML to a content box and you also pass a file to be > included into the content area of the box. > > The function echos out some of the HTML, then does a simple include(), > and then echos out the rest of the HTML. > > I'm trying to do this with another file containing PHP code and HTML > together, it's a file that fetches and displays information from a database. > The file is fine by itself, but once I include it into the actual > content box, it does a die(). I have it set to do that if there's a > MySQL error, but it doesn't output any error at all, and the file > works by itself. Here is the code that fetches from the database: > > <?php > mysql_select_db($database_default, $default); $query_headlines = > "SELECT id, headline, short, datetime FROM snews ORDER BY datetime > DESC"; $headlines = mysql_query($query_headlines, $default) or > die(mysql_error()); $row_headlines = mysql_fetch_assoc($headlines); > $totalRows_headlines = mysql_num_rows($headlines); ?> > > And here's where it displays: > > <table width="98%" border="0" cellspacing="0" > cellpadding="2" > bordercolor="#616161" align="center" > style="border-collapse:collapse"> > <tr bgcolor="#E0EBF1"> > <td align="left" style="padding:3px 3px 3px 3px;"><a > href="snews.php?id=<?php echo $row_headlines['id']; ?>" > class="headline"><?php echo $row_headlines['headline']; > ?></a></td> > </tr> > </table> > > This is fine, completely fine, by itself (if I include the database > credentials of course, but if I leave that include in there, it still > won't work). I've already included that file into the file it's being > included into anyway so it should work, but it simply isn't. Here's > the conbox function with less of the echo: > > function conbox($title, $contentfile, $content, $width, $height) { > echo 'Stuff...'; > if($content == '') { > if(!@include($contentfile)) { > echo 'content unavailable'; > } > } > if($content != '') { > echo '<p align="left">'.$content.'</p>'; > } > echo 'stuff'; > } > > Like I said, all the database credentials and everything is included > into the final file, but it simply won't work. Any ideas here? > > Thanks, > Stephen Craton > http://www.melchior.us > <http://www.melchior.us/> You're probably running into a namespace issue here. The global variables that you're trying to use for mysql_select_db aren't in the namespace of the function that's including the file. I would suggest using a better (OOP) system to get around this. Barring that, the best way IMHO is to use $GLOBALS['database_default'], etc. for the vars in the include that are created globally. -- paperCrane <Justin Patrin> -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php

« previous php.general (#188448) next »