By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
455,776 Members | 1,397 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 455,776 IT Pros & Developers. It's quick & easy.

PHP and FRAMES?

P: n/a
Hi All,
I'm developing a website which incorporates a header section at the top,
side areas and a central area. If I was developing the site with straight
HTML, I'd simply use FRAMES. However, by using PHP I thought I'd be able to
get around this as I use a single PHP to decide what information should be
present in each area of the page and render it appropriately. However, I
also need to incorporate 3rd party HTML files into the centre section/area
of my page. As these files include the full HTML page contents ie. with
<BODY> and <HEAD> tags I'm wondering how best to do this.
As far as I can see, the only way I can do this is to incorporate frames
into my PHP code. Without altering the contents of the 3rd party html files,
is there any other way of doing this?.

If I do have to have frames, what is the best method for integrating them
with the PHP code?. Would you have seprate PHP scripts in each frame, or
would you have a single script that is capable of generating each frame
depending on variables past to it (and extracted using $_GET{}?).

Any comments gratefully recieved.

Ta,
Dave

Jul 17 '05 #1
Share this Question
Share on Google+
9 Replies


P: n/a
Dave Moore wrote:
Hi All, I'm developing a website which incorporates a header
section at the top, side areas and a central area. If I was
developing the site with straight HTML, I'd simply use FRAMES.


Google for: frames are evil

Then, look at some simple HTML for a typical three-column page.
http://www.benmeadowcroft.com/webdev.../3-column.html

You can output the HTML with your PHP code, of course.

--
-bts
-This space intentionally left blank.
Jul 17 '05 #2

P: n/a
well, you'd have to strip out the header and body tag from the 3rd
party pages.

read the page into a string, looks something like that:

<html>
<head>
//head content
</head>
<body>
//body content
</body>
<html>

you're interested in anything between the body tags.
you could use some regex to extract anything between <body (note the
missing >, there might be style information) and </body>.
i'm not an expert on regex, but it could be formulated to find text
between the body tags, but excluding the tags itself. maybe post it as
a question here.

but: you would quite likely stripping out their css and javascript too,
which is likely to be in the head section. no problem with css, class
attributes are just ignored if no stylesheet is present, but you could
be looking at a lot of javascript errors that way.

micha

Jul 17 '05 #3

P: n/a
In message <p%*******************@twister.nyroc.rr.com>, Beauregard T.
Shagnasty <a.*********@example.invalid> writes
Dave Moore wrote:
Hi All, I'm developing a website which incorporates a header
section at the top, side areas and a central area. If I was
developing the site with straight HTML, I'd simply use FRAMES.
Google for: frames are evil

Then, look at some simple HTML for a typical three-column page.
http://www.benmeadowcroft.com/webdev.../3-column.html

You can output the HTML with your PHP code, of course.


He will still have the same problem even if there are no frames in the
output - he wants to incorporate outside files that include <HEAD> and
so on.


--
Five Cats
Email to: cats_spam at uk2 dot net
Jul 17 '05 #4

P: n/a

"Five Cats" <ca*******@[127.0.0.1]> wrote in message
news:n8**************@[127.0.0.1]...
In message <p%*******************@twister.nyroc.rr.com>, Beauregard T.
Shagnasty <a.*********@example.invalid> writes
Dave Moore wrote:
Hi All, I'm developing a website which incorporates a header
section at the top, side areas and a central area. If I was
developing the site with straight HTML, I'd simply use FRAMES.


Google for: frames are evil

Then, look at some simple HTML for a typical three-column page.
http://www.benmeadowcroft.com/webdev.../3-column.html

You can output the HTML with your PHP code, of course.


He will still have the same problem even if there are no frames in the
output - he wants to incorporate outside files that include <HEAD> and so
on.


--
Five Cats
Email to: cats_spam at uk2 dot net


Why not just imbed an IFRAME? I use them in my PHP generated code and
include other HTML files. Works fine.

Tom
Jul 17 '05 #5

P: n/a
Five Cats wrote:
In message <p%*******************@twister.nyroc.rr.com>, Beauregard
T. Shagnasty <a.*********@example.invalid> writes
Dave Moore wrote:
Hi All, I'm developing a website which incorporates a header
section at the top, side areas and a central area. If I was
developing the site with straight HTML, I'd simply use FRAMES.


Google for: frames are evil

Then, look at some simple HTML for a typical three-column page.
http://www.benmeadowcroft.com/webdev.../3-column.html

You can output the HTML with your PHP code, of course.


He will still have the same problem even if there are no frames in
the output - he wants to incorporate outside files that include
<HEAD> and so on.


All my sites incorporate "outside" files, including the <HEAD>. It
works the champ, and I can change it for the whole site in one swell
foop. <title>$pagetitle</title> is a variable passed to it, of course.

--
-bts
-This space intentionally left blank.
Jul 17 '05 #6

P: n/a

"Beauregard T. Shagnasty" <a.*********@example.invalid> wrote in message
news:0s*****************@twister.nyroc.rr.com...
Five Cats wrote:
In message <p%*******************@twister.nyroc.rr.com>, Beauregard
T. Shagnasty <a.*********@example.invalid> writes
Dave Moore wrote:

Hi All, I'm developing a website which incorporates a header
section at the top, side areas and a central area. If I was
developing the site with straight HTML, I'd simply use FRAMES.

Google for: frames are evil

Then, look at some simple HTML for a typical three-column page.
http://www.benmeadowcroft.com/webdev.../3-column.html

You can output the HTML with your PHP code, of course.


He will still have the same problem even if there are no frames in
the output - he wants to incorporate outside files that include
<HEAD> and so on.


All my sites incorporate "outside" files, including the <HEAD>.


I'm sure that this can't be right. If you write a file out in HTML using
PHP, then it will already have the normal HTML tags, like <HTML>, <HEAD> and
<BODY>, etc. How can I introduce a FULL 3rd party HTML file into this page
without first stripping this information out first?. Clearly simply
'include()'ing it will result in a page with 2 lots of these tags which is
clearly not compliant.

Regards
Jul 17 '05 #7

P: n/a

"Tom Scales" <to****@softhome.net> wrote in message
news:qV******************@tornado.tampabay.rr.com. ..

"Five Cats" <ca*******@[127.0.0.1]> wrote in message
news:n8**************@[127.0.0.1]...
In message <p%*******************@twister.nyroc.rr.com>, Beauregard T.
Shagnasty <a.*********@example.invalid> writes
Dave Moore wrote:
Hi All, I'm developing a website which incorporates a header
section at the top, side areas and a central area. If I was
developing the site with straight HTML, I'd simply use FRAMES.

Google for: frames are evil

Then, look at some simple HTML for a typical three-column page.
http://www.benmeadowcroft.com/webdev.../3-column.html

You can output the HTML with your PHP code, of course.


He will still have the same problem even if there are no frames in the
output - he wants to incorporate outside files that include <HEAD> and so on.


--
Five Cats
Email to: cats_spam at uk2 dot net


Why not just imbed an IFRAME? I use them in my PHP generated code and
include other HTML files. Works fine.


I did think about IFRAMES, but I was a bit worried about support in non-IE
browsers. Do Firefox and Netscale handle IFRAMES OK?.
Jul 17 '05 #8

P: n/a
Els
Dave Moore wrote:
"Beauregard T. Shagnasty" <a.*********@example.invalid> wrote in message
news:0s*****************@twister.nyroc.rr.com...
Five Cats wrote:
In message <p%*******************@twister.nyroc.rr.com>, Beauregard
T. Shagnasty <a.*********@example.invalid> writes

Dave Moore wrote:

> Hi All, I'm developing a website which incorporates a header
> section at the top, side areas and a central area. If I was
> developing the site with straight HTML, I'd simply use FRAMES.

Google for: frames are evil

Then, look at some simple HTML for a typical three-column page.
http://www.benmeadowcroft.com/webdev.../3-column.html

You can output the HTML with your PHP code, of course.

He will still have the same problem even if there are no frames in
the output - he wants to incorporate outside files that include
<HEAD> and so on.


All my sites incorporate "outside" files, including the <HEAD>.


I'm sure that this can't be right. If you write a file out in HTML using
PHP, then it will already have the normal HTML tags, like <HTML>, <HEAD> and
<BODY>, etc. How can I introduce a FULL 3rd party HTML file into this page
without first stripping this information out first?. Clearly simply
'include()'ing it will result in a page with 2 lots of these tags which is
clearly not compliant.


file.php:
<?php include "bla.txt" ?>

bla.txt:
<html>
<head>
<title..... etc etc.

--
Els http://locusmeus.com/
Sonhos vem. Sonhos vo. O resto imperfeito.
- Renato Russo -
Jul 17 '05 #9

P: n/a
Els wrote:
Dave Moore wrote:

"Beauregard T. Shagnasty" <a.*********@example.invalid> wrote
> You can output the HTML with your PHP code, of course.

All my sites incorporate "outside" files, including the <HEAD>.
I'm sure that this can't be right. If you write a file out in
HTML using PHP, then it will already have the normal HTML tags,
like <HTML>, <HEAD> and <BODY>, etc. How can I introduce a FULL
3rd party HTML file into this page without first stripping this
information out first?. Clearly simply 'include()'ing it will
result in a page with 2 lots of these tags which is clearly not
compliant.


file.php: <?php include "bla.txt" ?>


Just prior to the include, I use:
$txttitle = "Specific Title For This Page";
bla.txt:
<html>
<head>
<title..... etc etc.


...where <title> is: <title><?php echo $txttitle ?></title>

It goes on to include all standard <meta> elements, links to
stylesheets, favicon, and so forth.

--
-bts
-This space intentionally left blank.
Jul 17 '05 #10

This discussion thread is closed

Replies have been disabled for this discussion.