#21993 [Fbk->Opn]: Frameset/PHP conflict
| From: | black_dragon5 at juno dot com | Date: | Sun, 02 Feb 2003 04:42:48 +0000 |
| Subject: | #21993 [Fbk->Opn]: Frameset/PHP conflict | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-31866@lists.php.net to get a copy of this message | ||
ID: 21993
User updated by: black_dragon5@juno.com
Reported By: black_dragon5@juno.com
-Status: Feedback
+Status: Open
Bug Type: Unknown/Other Function
Operating System: Windows NT 5.1 (IIS 5.1)
PHP Version: 4.3.0
New Comment:
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.
Previous Comments:
------------------------------------------------------------------------
[2003-02-01 13:53:17] 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 11:29:09] 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 02:00:50] black_dragon5@juno.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
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=21993&edit=1