The software for these articles lets me enter HTML and keeps it in a database. If I want to add PHP, that gave me a problem as the data (HTML) was simply read from the database and passed to my client's browser
without being parsed for <?php to ?> sections. But
problem solved in two different ways!
The
current page is generated as I write the blog, and is saved on the server as a regular .html file. We have simply instructed our server that in this area, when serving files ending in .html it is to put them through the PHP interpreter - that's a line like
AddType application/x-httpd-php .html
in my .htaccess file.
Our
archive pages are not stored- they're not called up so often, so we can afford to generate them on the fly. In addition, the menu of "other available articles" changes dynamically as new articles are added - so we cannot store the pages unless we chose to rebuild all 2000 every time an article was added or updated.
Here is the line of PHP that we used on the archive pages to include the
HTML
within the page:
$bodder = nl2br($row[entry_text]);
When we wish to include
PHP in there too, we have a problem - it's going to be passed right to the browser, and as PHP source too. Here is our solution:
ob_start();
eval("?"."> $row[entry_text] <"."?php ");
$yeahz = ob_get_contents();
ob_end_clean();
$bodder = nl2br($yeahz);
a) The use of
eval let me actually run the code from the database.
However, the output would go straight to the browser which isn't what I want so ...
b) The
ob_start buffers the output from the
eval, the
ob_get_contents returns the data to me from that buffer, and the
ob_end_clean deletes the information from the output buffer and turns buffering off. So I have used the built-in facilities to trap the output from the PHP.
Does it work? Yes ... but I do need to check XML feeds as well if I start making heavy use of this. I suspect I need to parse them through PHP - not a big deal. Let me test it.
The current time is 00:32 and the date is 20th May 2013. It is a Monday. [[Those sentences should have changed for you to reflect the time on the server when you called it up]].
(written 2009-01-09, updated 2009-01-11)
264d
Associated topics are indexed under
H113 - Using MySQL Databases in PHP Pages [3455] MySQL, MySQLi, PDO or something else - how best to talk to databases from PHP - (2011-09-24)
[3035] How to display information from a database within a web page - (2010-11-07)
[2628] An example of an injection attack using Javascript - (2010-02-08)
[2561] The future of MySQL - (2010-01-03)
[2447] MySQL stored procedures / their use on the web from PHP - (2009-10-10)
[2432] Using print_r in PHP to explore mysql database requests - (2009-10-01)
[2320] Helping new arrivals find out about source code examples - (2009-08-03)
[2259] Grouping rows for a summary report - MySQL and PHP - (2009-06-27)
[2071] Setting up a MySQL database from PHP - (2009-03-08)
[1561] Uploading to a MySQL database through PHP - examples and common questions - (2008-03-02)
[1010] Dates, times, clickable diarys in PHP - (2006-12-28)
[947] What is an SQL injection attack? - (2006-11-27)
[937] Display an image from a MySQL database in a web page via PHP - (2006-11-22)
[915] Paging through hundreds of entries - (2006-11-05)
[723] Viewing images held in a MySQL database via PHP - (2006-05-17)
[666] Database design - get it right from first principles - (2006-04-02)
[647] Checking for MySQL errors - (2006-03-15)
[581] Saving a MySQL query results to your local disc for Excel - (2006-01-29)
[572] Giving the researcher power over database analysis - (2006-01-22)
[515] MySQL - an FAQ - (2005-12-03)
[104] mysql_connect or mysql_pconnect in PHP? - (2004-10-30)
H312 - PHP - Tips and Techniques [4074] A comment on comments in PHP - (2013-04-28)
[2981] How to set up short and meaningfull alternative URLs - (2010-10-02)
[2478] How did I do THAT? - (2009-10-26)
[2274] PHP preg functions - examples and comparision - (2009-07-08)
[2025] Injection Attack if register_globals in on - PHP - (2009-02-04)
[1958] PHP - Parse error: syntax error, unexpected $end ... - (2008-12-23)
[1684] Two PHP include files to make easy web site indexing and navigation - (2008-06-21)
[1667] Checking server performance for PHP generated pages - (2008-06-06)
[1649] Easy conversion - image formats, currencies and distances - (2008-05-21)
[1270] PHP Standalone - keyboard to screen - (2007-07-18)
[917] Syntax checking in PHP - (2006-11-07)
[789] Hot answers in PHP - (2006-07-02)
Some other Articles
One Cheer for Local Democracy - Asda in MelkshamWalk to BowerhillLearning to program as a part of your jobSite24x7 prowls uninvitedKeeping PHP code in database and running itCooking bodies and URLsBitter coldMichelleLooking forward, in Melksham, in 2009From spam to mod_alias - finding resources