RE: [PHP] Re: PHP includes

2009-03-10 Thread Mayer, Jonathan


-Original Message-
From: Ashley Sheridan [mailto:a...@ashleysheridan.co.uk] 
Sent: 09 March 2009 19:55
To: Mayer, Jonathan
Cc: Gary; php-general@lists.php.net
Subject: RE: [PHP] Re: PHP includes

On Mon, 2009-03-09 at 15:10 +, Mayer, Jonathan wrote:
 Thank you to everybody that replied...but it almost seems it is
making
 extra 
 work.
 
 I can understand using an include for a menu, since they tend to
change
 
 often and it is on every page, but the normal content I am not
 understanding 
 the benefit.  If I have a page that has unique content on it, that is
 to say 
 no other page has this content, why would I want to create a separate
 file 
 to be included on the page, why would I not simple put the content
 directly 
 on the page itself?
 
 What is the best type of file to be used as an include (.txt, .php).
 
 Thanks again for all your help.
 
 There are some circumstances where that could be useful. I don't do it
 often, but one site I made a while ago was based on a standard main
page
 with the content included in. The content pages then had absolutely
 nothing except the unique text, so that redesigns to the site were
made
 easier in the futurem, because only one page needed to be edited. So
the
 entire site was based around a page.php?ID=x with the ID specifying
the
 include required.
 
 Such as an example might be a little out of date now, what with CSS
and
 so forth, but it was useful at the time.
 
 If I am including a file with password details, I usually make it
 something random (.inc, .sec, whatever) and hide it away somewhere
 inacessible
 
 Gary
 Gary gwp...@ptd.net wrote in message 
 news:8a.64.51087.33bf3...@pb1.pair.com...
  I'm working on learning php and have been toying with includes, and
I
 am 
  trying to figure the advantages/disadvantages to using them.
 
  I know that using them eliminates the need to put the files once
 altered 
  as with a template, however, is that the only advantage.
 
  My particular concerns are with SEO and if the search engines and
the
 bots 
  can read the page if it is made completely on includes?
 
  Any and all comments would be appreciated.
 
  Gary
  
 
 
 
 
 
 
Just thought I'd point out that it's recommended against giving non-php
extensions to PHP code pages. Basically, making all of your include
files .inc without the server correctly configured to recognise all .inc
files as PHP files, you are opening yourself up to possible hacks where
people put the URL of your include directly in their browser and view
all your code. Best thing is usually to name files like this:
filename.inc.php or some-such, and not filename.inc. 


Ash
www.ashleysheridan.co.uk


Thanks Ash - that's an excellent point which I'll remember next time I'm
including!




--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP] Re: PHP includes

2009-03-10 Thread Michael A. Peters

Mayer, Jonathan wrote:





Just thought I'd point out that it's recommended against giving non-php
extensions to PHP code pages. Basically, making all of your include
files .inc without the server correctly configured to recognise all .inc
files as PHP files, you are opening yourself up to possible hacks where
people put the URL of your include directly in their browser and view
all your code.


Easily solveable by keeping your include files in a directory outside 
the web root. IE in a directory apache (or whatever server you use) does 
not serve.


If you have any include files that have sensitive information (IE 
database username/password, the salt/algorithm you use to create a user 
password hash, etc.) then having an include directory outside the web 
root is a must anyway - with or without a .php extension on those files 
(if apache fails to load the php module for whatever reason on a 
restart, those .php files may be sent plain text).


--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



RE: [PHP] Re: PHP includes

2009-03-09 Thread Mayer, Jonathan

Thank you to everybody that replied...but it almost seems it is making
extra 
work.

I can understand using an include for a menu, since they tend to change

often and it is on every page, but the normal content I am not
understanding 
the benefit.  If I have a page that has unique content on it, that is
to say 
no other page has this content, why would I want to create a separate
file 
to be included on the page, why would I not simple put the content
directly 
on the page itself?

What is the best type of file to be used as an include (.txt, .php).

Thanks again for all your help.

There are some circumstances where that could be useful. I don't do it
often, but one site I made a while ago was based on a standard main page
with the content included in. The content pages then had absolutely
nothing except the unique text, so that redesigns to the site were made
easier in the futurem, because only one page needed to be edited. So the
entire site was based around a page.php?ID=x with the ID specifying the
include required.

Such as an example might be a little out of date now, what with CSS and
so forth, but it was useful at the time.

If I am including a file with password details, I usually make it
something random (.inc, .sec, whatever) and hide it away somewhere
inacessible

Gary
Gary gwp...@ptd.net wrote in message 
news:8a.64.51087.33bf3...@pb1.pair.com...
 I'm working on learning php and have been toying with includes, and I
am 
 trying to figure the advantages/disadvantages to using them.

 I know that using them eliminates the need to put the files once
altered 
 as with a template, however, is that the only advantage.

 My particular concerns are with SEO and if the search engines and the
bots 
 can read the page if it is made completely on includes?

 Any and all comments would be appreciated.

 Gary
 






--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



RE: [PHP] Re: PHP includes

2009-03-09 Thread Bob McConnell
From: Gary
 
 Thank you to everybody that replied...but it almost seems it is making
extra 
 work.
 
 I can understand using an include for a menu, since they tend to
change 
 often and it is on every page, but the normal content I am not
understanding 
 the benefit.  If I have a page that has unique content on it, that is
to say 
 no other page has this content, why would I want to create a separate
file 
 to be included on the page, why would I not simple put the content
directly 
 on the page itself?
 
 What is the best type of file to be used as an include (.txt, .php).
 

We include template files for the head block, a banner across the top
of every page, the footer across the bottom, the menu and images in the
left sidebar, and the advertisement banners across the top and bottom.
Even the core section of each page is included from the initial file.
That way we can change the appearance, or modify the links to our
disclaimers and help files just once and every page gets updated. We
also have configuration flags to prevent some of those files from being
included in a specific virtual domain, so our clients can provide their
own templates instead of using ours.

File extensions for includes are up to you. Just make sure your
IDE/Editor know that they are PHP files. We use .lia for the libraries
of functions we use throughout the site. None of our files have .php as
the extension.

Bob McConnell

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP] Re: PHP includes

2009-03-09 Thread Sudheer Satyanarayana

Gary wrote:
Thank you to everybody that replied...but it almost seems it is making extra 
work.


I can understand using an include for a menu, since they tend to change 
often and it is on every page, but the normal content I am not understanding 
the benefit.  If I have a page that has unique content on it, that is to say 
no other page has this content, why would I want to create a separate file 
to be included on the page, why would I not simple put the content directly 
on the page itself?
  
There are several advantages of using include. I can't imagine an 
application without include/require/autoload.


I create the database adapter only once per request. I store several 
application configuration items in a config file and load this 
configuration information only once per request. I have one layout for 
the application. Only the content and the menus change. So, I would 
simply include various sections of the web page in relevant positions.

Example:
layout.php
?php
include 'header.php';
include 'menu.php'; // menu.php is also dynamic. menu.php determines 
what to display on the current page.
include 'sidebar.php'; // within sidebar.php I would include 
block_a.php, block_b.php, etc

include 'footer.php';
?

I put the utility functions and classes in a library file. I would 
simply include the library.php and use the functions available in it.


I hope you get the point of using include.

What is the best type of file to be used as an include (.txt, .php).

  


--

With warm regards,
Sudheer. S
Business: http://binaryvibes.co.in, Tech stuff: http://techchorus.net, 
Personal: http://sudheer.net


--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



RE: [PHP] Re: PHP includes

2009-03-09 Thread Ashley Sheridan
On Mon, 2009-03-09 at 15:10 +, Mayer, Jonathan wrote:
 Thank you to everybody that replied...but it almost seems it is making
 extra 
 work.
 
 I can understand using an include for a menu, since they tend to change
 
 often and it is on every page, but the normal content I am not
 understanding 
 the benefit.  If I have a page that has unique content on it, that is
 to say 
 no other page has this content, why would I want to create a separate
 file 
 to be included on the page, why would I not simple put the content
 directly 
 on the page itself?
 
 What is the best type of file to be used as an include (.txt, .php).
 
 Thanks again for all your help.
 
 There are some circumstances where that could be useful. I don't do it
 often, but one site I made a while ago was based on a standard main page
 with the content included in. The content pages then had absolutely
 nothing except the unique text, so that redesigns to the site were made
 easier in the futurem, because only one page needed to be edited. So the
 entire site was based around a page.php?ID=x with the ID specifying the
 include required.
 
 Such as an example might be a little out of date now, what with CSS and
 so forth, but it was useful at the time.
 
 If I am including a file with password details, I usually make it
 something random (.inc, .sec, whatever) and hide it away somewhere
 inacessible
 
 Gary
 Gary gwp...@ptd.net wrote in message 
 news:8a.64.51087.33bf3...@pb1.pair.com...
  I'm working on learning php and have been toying with includes, and I
 am 
  trying to figure the advantages/disadvantages to using them.
 
  I know that using them eliminates the need to put the files once
 altered 
  as with a template, however, is that the only advantage.
 
  My particular concerns are with SEO and if the search engines and the
 bots 
  can read the page if it is made completely on includes?
 
  Any and all comments would be appreciated.
 
  Gary
  
 
 
 
 
 
 
Just thought I'd point out that it's recommended against giving non-php
extensions to PHP code pages. Basically, making all of your include
files .inc without the server correctly configured to recognise all .inc
files as PHP files, you are opening yourself up to possible hacks where
people put the URL of your include directly in their browser and view
all your code. Best thing is usually to name files like this:
filename.inc.php or some-such, and not filename.inc. 


Ash
www.ashleysheridan.co.uk


-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP] Re: PHP includes

2009-03-09 Thread Nathan Rixham

Ashley Sheridan wrote:

Just thought I'd point out that it's recommended against giving non-php
extensions to PHP code pages. Basically, making all of your include
files .inc without the server correctly configured to recognise all .inc
files as PHP files, you are opening yourself up to possible hacks where
people put the URL of your include directly in their browser and view
all your code. Best thing is usually to name files like this:
filename.inc.php or some-such, and not filename.inc. 



v well said - one thing you never want is your source showing!

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP] Re: PHP includes

2009-03-09 Thread Larry Garfield
On Monday 09 March 2009 3:07:17 pm Nathan Rixham wrote:
 Ashley Sheridan wrote:
  Just thought I'd point out that it's recommended against giving non-php
  extensions to PHP code pages. Basically, making all of your include
  files .inc without the server correctly configured to recognise all .inc
  files as PHP files, you are opening yourself up to possible hacks where
  people put the URL of your include directly in their browser and view
  all your code. Best thing is usually to name files like this:
  filename.inc.php or some-such, and not filename.inc.

 v well said - one thing you never want is your source showing!

Unless you're working in open source and then the source is showing anyway 
from the original download site.  And if simply knowing your source code is a 
security hole, then you have bad software.

Your config file with passwords and such, sure, keep that locked down tight.  
But don't rely on security through obscurity.

-- 
Larry Garfield
la...@garfieldtech.com

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP] Re: PHP includes

2009-03-09 Thread Ashley Sheridan
On Mon, 2009-03-09 at 15:23 -0500, Larry Garfield wrote:
 On Monday 09 March 2009 3:07:17 pm Nathan Rixham wrote:
  Ashley Sheridan wrote:
   Just thought I'd point out that it's recommended against giving non-php
   extensions to PHP code pages. Basically, making all of your include
   files .inc without the server correctly configured to recognise all .inc
   files as PHP files, you are opening yourself up to possible hacks where
   people put the URL of your include directly in their browser and view
   all your code. Best thing is usually to name files like this:
   filename.inc.php or some-such, and not filename.inc.
 
  v well said - one thing you never want is your source showing!
 
 Unless you're working in open source and then the source is showing anyway 
 from the original download site.  And if simply knowing your source code is a 
 security hole, then you have bad software.
 
 Your config file with passwords and such, sure, keep that locked down tight.  
 But don't rely on security through obscurity.
 
 -- 
 Larry Garfield
 la...@garfieldtech.com
 
I was talking about includes that have things such as database
connection information and other sensitive things. By making it a PHP
file, you prevent the code from being seen, ergo you hide your password,
etc. phpMyAdmin does it this way, using a config.inc.php file for
holding the connection information to each database.


Ash
www.ashleysheridan.co.uk


-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



RE: [PHP] Re: PHP Includes and Echoes in Head Sections and Search Engines

2004-01-16 Thread Ford, Mike [LSS]
On 15 January 2004 22:39, Luke wrote:

 ? Holy cow, this gets simpler all the time. Pretty soon, there'll be
 ? nothing left on my page but PHP includes and echo functions! ?
 ? Does this cut down on a website's file size? In other
 words, are the php
 ? includes effectively inactive when no one's viewing your main pages,
 ? leaving them empty of the included pages?
 
 Well in a way yes, it wont cut down the transfer bandwitdth,
 but because you
 are reusing the same files over again, this will take up less
 disk space on
 your
 server. But the same amount of data is transferred when a
 user views the
 page (as you can see from view-source)
 
 ? But suppose there's a certain page where I don't want the
 style sheet in
 ? the middle - the one I named MIDDLE. Is there a way to mark
 it in the
 ? include page, then instruct the main page to either not import it or
 ? replace it with nothing ()?
 
 youd have to use a variable, so in the main page do the following
 
 if($pagetoshow == 'withoutmiddle'){
 $includemiddle = FALSE;
 }else{
 $includemiddle = TRUE; //(or false depending)
 }

Euch! Very long-winded and inefficient.  Much better is:

   $includemiddle = $pagetoshow!='withoutmiddle';

 
 and in the include do this:
 
 if($includemiddle == TRUE){

Likewise -- this can be written more efficiently and more readbly as simply:

   if ($includemiddle)

(Since $includemiddle will be TRUE or FALSE, you can use it directly in the
if () -- retrieving its value and  comparing it against TRUE gives TRUE if
$includemiddle is, er, TRUE, and FALSE if it's FALSE, so doing the
comparison just wastes CPU time to reproduce the value you first thought
of.)

Cheers!

Mike

-
Mike Ford,  Electronic Information Services Adviser,
Learning Support Services, Learning  Information Services,
JG125, James Graham Building, Leeds Metropolitan University,
Beckett Park, LEEDS,  LS6 3QS,  United Kingdom
Email: [EMAIL PROTECTED]
Tel: +44 113 283 2600 extn 4730  Fax:  +44 113 283 3211 

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



RE: [PHP] Re: PHP Includes and Echoes (Sorry; read this post firs t!)

2004-01-16 Thread Ford, Mike [LSS]
On 16 January 2004 00:30, Freedomware wrote:

 I should have played with this some more before I posted more
 questions. After fixing an error on the included page, I replaced
 every instance of na/a1 on both pages with a1. That seemed to fix
 everything; the first style sheet comes through, but the second one
 is blocked - 
 and I don't
 see any error messages.
 
 I have a couple more questions, though. First, how do I turn this
 exclude function off on a page where I do NOT want to ban
 style sheet na/a1?
 
 I tried deleting the following on the main page:
 
 if($pagetoshow == 'withouta1'){
  $includea1 = FALSE;
 }else{
  $includeaa1 = TRUE; //(or false depending)
 }
 
 Then I changed TRUE and FALSE in various combinations, but it
 didn't work.

Simple -- if you have a page where you want a1 to be unconditionally included, set the 
variable to TRUE unconditionally:

  $includea1 = TRUE;

Similarly, if you want it to be unconditionally blocked:

  $includea1 = FALSE;

The include file will test the value of $includea1 as before, and include it or not as 
you've specified.

Cheers!

Mike

-
Mike Ford,  Electronic Information Services Adviser,
Learning Support Services, Learning  Information Services,
JG125, James Graham Building, Leeds Metropolitan University,
Beckett Park, LEEDS,  LS6 3QS,  United Kingdom
Email: [EMAIL PROTECTED]
Tel: +44 113 283 2600 extn 4730  Fax:  +44 113 283 3211 

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP] Re: PHP Includes and Echoes (From the top...)

2004-01-16 Thread Freedomware
Thanks for all the tips. It's getting generally getting clearer, but I'm 
a little confused somewhere.

Can I give you a better explanation of what I'm trying to do, along with 
my latest code?

The pages on this site focus on various nations and states, with lots of 
links like this:

[LOCAL] ../world/na/us/wy/index.php (World/North America/United 
States/Wyoming)

[REMOTE] www.politix.org/world/na/us/wy/

Each page will feature several prominent instances of the name of a 
country or state, which I can facilitate by using 'MyName', such as the 
title (MyName = Canada, or Wyoming), along with several instances of its 
abbreviation, which is used in several URLs and in the top banner; for 
example, this is the top banner for Alaska: img 
src=../images/banners/ak.gif width=200 height=150 alt= /

Below is the entire head section from the main page. Notice that it's 
mostly a series of variable statements ('MyName', 'MyCountry', etc.), 
followed by an included page (head), which is essentially the REAL head 
section.

I inserted one of the functions you suggested - $includea1 = TRUE; - 
after the include, but I'm sure I did it wrong.

!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; xml:lang=en lang=en
head
?php
$myname = 'MyName';
$mynickname = 'MyNickname';
$mycontinent = 'North America';
$mycountry = 'United States';
$mystate = 'MyState';
$postcode = 'wy';
$linkcontinent = '/na';
$linkcountry = '/us';
$linkstate = '/wy';
$periods = '../../../../';
$linkwebring = '/world/na/us/wy/';
include (../../../../includes/head.php);
$includea1 = TRUE;
?
/head

* * * * * * * * * *

And here's the included page:

?php
$todayDate = date(m-d-Y);
echo 'titleFreedomware gt; ' . $statename . '/title';
echo 'meta name=description content=' . $statename . ' versus 
Microsoft /';
echo 'meta name=keywords content=' . $statename . ' versus 
Microsoft /';
echo 'meta name=mssmarttagspreventparsing content=true /';
echo 'meta http-equiv=content-Type content=text/html; 
charset=iso-8859-1 /';
echo 'meta name=author content=David Blomstrom /';
echo 'script src=' . $periods . 'js/swapclass.js 
type=text/javascript/script';
echo 'script src=' . $periods . 'js/ss.js 
type=text/javascript/script';
echo 'script language=JavaScript type=text/JavaScript
!--
function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}
//--
/script';
echo 'link href=' . $periods . 'css/a1.css rel=stylesheet 
type=text/css /';
if ($includea1) echo 'link href=' . $periods . 'css' . $linkcontinent 
. '/a1.css rel=stylesheet type=text/css /';
echo 'link href=' . $periods . 'css/na/north.css rel=stylesheet 
type=text/css /';
echo 'link href=' . $periods . 'css/themes/peace.css rel=alternate 
stylesheet type=text/css title=Peace /';
echo 'link href=' . $periods . 'css/themes/war.css rel=alternate 
stylesheet type=text/css title=War /';
echo 'link rel=SHORTCUT ICON href=../../../../us/aaa/favicon.ico /'
?

Note that two of my style sheets are named css/a1.css and css/na/a1.css 
(na is short for North America). Maybe I should rename the second a1 to 
avoid confusion, though I'd prefer to tackle it head on and learn how to 
deal with this situation. (Does $includea1 = TRUE; refer to css/a1.css 
or css/na/a1.css?)

So here's what I have at present:

* * * * * * * * * *

The first line denotes style sheet css/a1.css, preceded by . $periods 
., which can be replaced by ../../ or ../../../, depending on the 
folder level:

echo 'link href=' . $periods . 'css/a1.css rel=stylesheet 
type=text/css /';

* * * * * * * * * *

The second line denotes style sheet css/na/a1.css, preceded by if 
($includea1), which I'm probably using incorrectly:

if ($includea1) echo 'link href=' . $periods . 'css' . $linkcontinent 
. '/a1.css rel=stylesheet type=text/css /';

Note, also, that I inserted . $linkcontinent ., which will be replaced 
by na/ (North America) on this particular main page.

In summary, it looks like I need to fix two things:

MAIN PAGE

$linkwebring = '/world/na/us/wy/';
include (../../../../includes/head.php);
$includea1 = TRUE;
?
/head
INCLUDED PAGE

echo 'link href=' . $periods . 'css/a1.css rel=stylesheet 
type=text/css /';
if ($includea1) echo 'link href=' . $periods . 'css' . $linkcontinent 
. '/a1.css rel=stylesheet type=text/css /';
echo 'link href=' . $periods . 'css/na/north.css rel=stylesheet 
type=text/css /';

* * * * * * * * * *

I hope that isn't too confusing. It's actually becoming a lot clearer 
for me; I'm just temporarily confused.

Thanks!

* * * * * * * * * *

I wrote,

 ? Holy cow, this gets simpler all the time.

 ? But suppose there's a certain page where I don't want the
 style sheet in
 ? the middle - the one I named MIDDLE. Is there a way to mark
 it in the
 ? include page, then instruct the main page to either not import it or
 ? replace it with nothing ()?
On 15 January 2004 22:39, Luke wrote:

RE: [PHP] Re: PHP Includes and Echoes (From the top...)

2004-01-16 Thread Ford, Mike [LSS]
On 16 January 2004 13:54, Freedomware wrote:

 Thanks for all the tips. It's getting generally getting
 clearer, but I'm
 a little confused somewhere.

[SNIP] 

 I inserted one of the functions you suggested - $includea1 = TRUE; -
 after the include, but I'm sure I did it wrong.

Just like before -- put it *before* the include, otherwise the included file
won't see it.

[SNIP]

 //--
 /script';
 echo 'link href=' . $periods . 'css/a1.css rel=stylesheet
 type=text/css /'; if ($includea1) echo 'link href=' . $periods .
 'css' . $linkcontinent . '/a1.css rel=stylesheet type=text/css
 /'; 
 echo 'link href=' . $periods . 'css/na/north.css rel=stylesheet
 type=text/css /'; echo 'link href=' . $periods .
 'css/themes/peace.css rel=alternate stylesheet type=text/css
 title=Peace /'; 
 echo 'link href=' . $periods . 'css/themes/war.css rel=alternate
 stylesheet type=text/css title=War /';
 echo 'link rel=SHORTCUT ICON
 href=../../../../us/aaa/favicon.ico /'
  
 
 Note that two of my style sheets are named css/a1.css and
 css/na/a1.css (na is short for North America). Maybe I should rename
 the 
 second a1 to
 avoid confusion, though I'd prefer to tackle it head on and
 learn how to
 deal with this situation. (Does $includea1 = TRUE; refer to css/a1.css
 or css/na/a1.css?)

Well, which one is controlled by the if ($includea1) test?

 
 So here's what I have at present:
 

Apart from the above points, looks ok for what you're trying to do.  Keep
plugging away and you'll get there -- a couple of years ago I was a complete
PHP beginner (although an experienced programmer), and now I have several
thousand lines of code in production use!

Cheers!

Mike

-
Mike Ford,  Electronic Information Services Adviser,
Learning Support Services, Learning  Information Services,
JG125, James Graham Building, Leeds Metropolitan University,
Beckett Park, LEEDS,  LS6 3QS,  United Kingdom
Email: [EMAIL PROTECTED]
Tel: +44 113 283 2600 extn 4730  Fax:  +44 113 283 3211 

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php