PHP 4.0 Bug #7710 Updated: include'ing doesn't work properly

From: Date: Mon, 20 Nov 2000 10:31:18 +0000
Subject: PHP 4.0 Bug #7710 Updated: include'ing doesn't work properly
Groups: php.dev 
Request: Send a blank email to php-dev+get-38562@lists.php.net to get a copy of this message
ID: 7710 User Update by: brozen@torah.org Status: Analyzed Bug Type: Scripting Engine problem Description: include'ing doesn't work properly index.php3: <? require "header.php3"; ?> sid is set <? require "footer.php3"; ?> header.php3: <? if (isset($sid)) { ?> footer.php3: <? } else { echo "sid not set"; } ?> Previous Comments: --------------------------------------------------------------------------- [2000-11-20 05:28:02] brozen@torah.org This is not a documentation issue. Read this again before you respond so quickly. --------------------------------------------------------------------------- [2000-11-09 09:52:30] sniper@php.net Please read this manual page carefully: http://www.php.net/manual/function.require.php --- Changed to Documentation problem as I couldn't find the incompatibilities list (for PHP 3 vs. PHP 4) from the manual. --Jani --------------------------------------------------------------------------- [2000-11-09 01:45:37] brozen@torah.org This bug is also reported at: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=75695 --------------------------------------------------------------------------- [2000-11-09 01:42:19] brozen@torah.org Please take a look at this: (php3) http://zeraim.torah.org/~cblack/testdir/index.php3 http://zeraim.torah.org/~cblack/testdir/index.php3?sid=3 Now, try these: (php4) http://terumah.teamgenesis.com/~cblack/index.php3 http://terumah.teamgenesis.com/~cblack/index.php3?sid=2 Precisely the same code. PHP on zeraim incorporates the header & footer and then parses all as one, while on terumah it is attempting to parse the header & footer as if they were independent of the file into which they are included. Or in other words, PHP3 used to incorporate a 'require()ed' file without doing any work on it, and then parsed the whole thing together. So you could have an IF statement in the header [ if (...) { ] that ended in the footer [ } ]. No longer! That's why the same code is generating parse errors. --------------------------------------------------------------------------- Full Bug description available at: http://bugs.php.net/?id=7710

« previous php.dev (#38562) next »