php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #21993 Frameset/PHP conflict
Submitted: 2003-02-01 02:00 UTC Modified: 2003-02-20 08:07 UTC
Votes:21
Avg. Score:4.0 ± 1.1
Reproduced:15 of 17 (88.2%)
Same Version:9 (60.0%)
Same OS:6 (40.0%)
From: black_dragon5 at juno dot com Assigned:
Status: No Feedback Package: *General Issues
PHP Version: 4.3.0 OS: Windows NT 5.1 (IIS 5.1)
Private report: No CVE-ID: None
Have you experienced this issue?
Rate the importance of this bug to you:

 [2003-02-01 02:00 UTC] black_dragon5 at juno dot com
This is an error that was not present in version 4.2.3.  Somehow, framesets aren't working very well with the new version, 4.3.0.  Here is the frameset:
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<frameset rows="56,*" frameborder="NO" border="0" framespacing="0">
  <frame src="top.php" name="topFrame" scrolling="NO" noresize >
  <frame src="main.php" name="mainFrame">
</frameset>
<noframes><body>
</body></noframes>
</html>

the file 'top.php' actually does not have any PHP code in it yet, but retained the '.php' extension for future expansion (this was the bare layout for a new website).  Before, all of these files were XHTML-compliant, with a PHP echo generating the <?xml version="1.0"...?>

The interesting thing about this is that when I first load the page, it will tell me "The page cannot be displayed".  If I refresh the page, the frameset is gone, and it gives me "The directory name is invalid.".  However, if I load one of the pages (either top.php or main.php) by bypassing the frameset and then go back using the frameset, that page will load.  Additionally, sometimes when I hit the back button it will load one of the pages, but if I try to go forward or back to the page, I get a 500 internal server error.  

I am using IIS 5.1 included with NT 5.1 (Windows XP Professional) with the CGI version of 4.3.0.  Pages were generated with Dreamweaver and edited with Notepad.  Some additional thoughts: This could be a server configuration problem, but I think it is highly unlikely due to 4.2.3 working with the same type of page (two earlier prototypes pioneered this method; both worked fine [but are still unfinished]).  Note: I believe this is different from the other bug reports due to the fact that there is no PHP code in these pages whatsoever, and I have checked the php.ini file.  It works fine when given a .htm or .html extension, but does not when it uses .php.  If I am incorrect in stating that this is a unique bug, please feel free to correct me. 

Oh yes.  Happy Chinese New Year! =P

Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2003-02-01 11:29 UTC] magnus@php.net
Does it work on another server ? 
Apache, or does it work with isapi ? 
 
What is the content of the files ? 
 [2003-02-01 13:53 UTC] msopacua@php.net
Are they really encoded in ISO-8859-1? Or 'saved as unicode'? I don't see how framesets could make a difference, unless you have severe resource problems.

So - it's important to get to the root of the problem: is this encoding (mbstring/streams/??) or CGI related.
 [2003-02-01 22:42 UTC] black_dragon5 at juno dot com
Ok, I created a skeleton version of what I am doing for testing purposes.  There are three PHP XHTML-compliant files, named index.php, main.php, and top.php.
index.php:
<?php echo "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?".">"; ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>

<frameset rows="80,*" frameborder="no" border="0" framespacing="0">
  <frame src="top.php" name="topFrame" scrolling="No" noresize="noresize" id="topFrame" />
  <frame src="main.php" name="mainFrame" id="mainFrame" />
</frameset>
<noframes><body>
</body></noframes>
</html>

main.php:
<?php echo "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?".">"; ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>

<body>
Main Frame 
</body>
</html>

top.php:
<?php echo "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?".">"; ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>

<body>
Top Frame 
</body>
</html>

I have uploaded this to a Windows 2000 server using IIS 5.0.  PHP version is CGI 4.2.3.  Evidently it works fine.
(http://force.digitalrice.com/frameset/index.php).  I was/am unable to test this under Apache, as I do not have access to a server running 4.3.0.  It does, however, work fine under Apache and PHP 4.2.3.  I will try to find a server with Apache and 4.3.0.
 [2003-02-02 21:39 UTC] black_dragon5 at juno dot com
I have uploaded the files (zipped) for download and testing.  The file is located at: http://force.digitalrice.com/upload/frameset.zip

My friend is running Windows XP Home (alas, no built-in IIS) with Apache 2.0.43 and the Apache PHP 4.3.0 module.  He tested it and it works fine.  I'm not sure if it will work under the ISAPI version, but so far it seems to be limited to the CGI version.
 [2003-02-20 08:07 UTC] sniper@php.net
No feedback was provided. The bug is being suspended because
we assume that you are no longer experiencing the problem.
If this is not the case and you are able to provide the
information that was requested earlier, please do so and
change the status of the bug back to "Open". Thank you.


 [2006-04-27 23:20 UTC] tueff at gmx dot de
I'm experiencing a similar problem, but not with frames though. It's just if I try to echo the -- '<xml version...' processing instruction (or whatever you call it), I get all ';', '?>' and php comments printed in the xhtml document. Seems to be a bug of IIS 5.1 (no problems with Apache), no difference if the xml '...?>' end-tag is seperated via string concatenation ('...?'.'>') either. I also get an error from IIS at System shutdown (sorry, I'd have to reproduce it to remember the exact error message and I'm not ready for that right now).
 [2009-04-21 14:07 UTC] satish dot kumar dot us at hotmail dot com
i have a problem in frame set file.if i create a frame set file like frame.php. in this file am not able to include php files.
 [2010-11-19 14:22 UTC] 604joe at gmail dot com
same issue as the last guy who posted.

I'm trying to call a header.php from a frame src= ,, 
it has other php files included in it

non get called. 

http://spacelite.604industries.com

only started using frameset because IE doesn't like the css position: fixed;
 [2010-11-25 23:59 UTC] sia_dev at inbox dot lv
sad but too has bug :( !
 
PHP Copyright © 2001-2017 The PHP Group
All rights reserved.
Last updated: Sun Nov 19 01:31:42 2017 UTC