- Moving tag from include/common.inc to each page for customization of title,etc
- Recommended Answers Collapse Answers
- All 6 Replies
- PHP Include
- Introduction to the PHP include construct
- PHP include example
- PHP include & variable scopes
- 1) Including outside a function example
- 2) Including within a function example
- Summary
- dimo414 / includes-common.inc.php
Moving tag from include/common.inc to each page for customization of title,etc
Need instruction. Please.
Situation: Most of my site pages start with the following: include(«include/common.inc.php»);
top();
left();
middle();
bottom();
function middle() ?> My include/common.inc has the head, title, meta tags which means they look the same on EVERY single page of my site (hundreds of pages!). Not good for SEO. Extract from include/common.inc:
http://www.w3.org/1999/xhtml»>
- 3 Contributors
- 6 Replies
- 412 Views
- 11 Months Discussion Span
- Latest Post 13 Years Ago Latest Post by Eng.h
Recommended Answers Collapse Answers
For the title, do this in each file:
define ("PAGE_TITLE", "Title for the Page");
And in common.inc put something like:
For the Meta tags, you could put together an array on each page like follows:
All 6 Replies
define ("PAGE_TITLE", "Title for the Page");
$page_meta_tags[] .= ''; $page_meta_tags[] .= '';
foreach($page_meta_tags as $value)
Your idea seemed perfect so I tried it right away. Unfortunatly I get this error. Any suggestion? Question: Where exactly do you place the «define» function on each page? Perhaps that is my problem. Thanks. Natasha ERROR MESSAGE:
Warning: include(include/site_functions.php) [function.include]: failed to open stream: No such file or directory in /home/content/d/o/r/dornhosting/html/include/common.inc.php on line 15 Warning: include() [function.include]: Failed opening ‘include/site_functions.php’ for inclusion (include_path=’.:/usr/local/php5/lib/php’) in /home/content/d/o/r/dornhosting/html/include/common.inc.php on line 15
PHP Include
Summary: in this tutorial, you will learn how to include code from a file using the PHP include construct.
Introduction to the PHP include construct
The include construct allows you to load the code from another file into a file. Here’s the syntax of the include construct:
include 'path_to_file';
Code language: PHP (php)
In this syntax, you place the path to the file after the include keyword. For example, to load the code from the functions.php file into the index.php file, you can use the following include statement:
// index.php file include 'functions.php';
Code language: HTML, XML (xml)
If PHP cannot find the ‘functions.php’ file in the src directory, it’ll issue a warning. For example:
Warning: include(functions.php): failed to open stream: No such file or directory in . on line 4 Warning: include(): Failed opening 'functions.php' for inclusion (include_path='\xampp\php\PEAR') in . on line 4
Code language: PHP (php)
When loading the functions.php file, PHP first looks for the functions.php file in the directory specified by the include_path . In this example, it’s ‘\xampp\php\PEAR’ . If PHP can find the functions.php file there, it loads the code from the file.
Otherwise, PHP searches the functions.php file in the directory of the calling script and the current working directory. If PHP can find the functions.php file there, it loads the code. Otherwise, it issues a warning if the file doesn’t exist.
When PHP loads the functions.php file, it actually executes the code inside the functions.php file. For example, if you place the following code in the functions.php file:
// functions.php function get_copyright() < return 'Copyright © ' . date('Y') . ' by phptutorial.net. All Rights Reserved!'; > echo get_copyright();
Code language: HTML, XML (xml)
and include the functions.php in the index.php file, you’ll see the following output when you run the index.php file:
Copyright © 2021 by phptutorial.net. All Rights Reserved!
Code language: CSS (css)
This demonstrated that the include construct does make PHP executes code in the functions.php file.
PHP include example
In practice, you’ll often use the include construct to the page elements from a general site design. For example, all pages in your website may have the same header and footer.
To avoid repeating these elements on multiple pages, you can place the code of the header and footer in separate files such as header.php and footer.php and include them on the pages.
Typically, you place the template files like header.php and footer.php in a separate directory. By convention, the name of the include directory is inc :
. ├── index.php ├── functions.php ├── inc │ ├── footer.php │ └── header.php └── public ├── css │ └── style.css └── js └── app.js
Code language: CSS (css)
The header.php file contains the code of the header of the page. It has a link to the style.css file located in the public/css directory:
html>
html lang="en"> head> meta charset="UTF-8" /> meta name="viewport" content="width=device-width, initial-scale=1.0" /> link rel="stylesheet" href="public/css/style.css"> title>PHP include Example title> head> body>Code language: HTML, XML (xml)
The footer.php file contains the code related to the footer of the page:
script src="js/app.js">
script> body> html>Code language: HTML, XML (xml)
In the index.php file, you can include the header.php and footer.php file like this:
include 'inc/header.php'; ?> h1>PHP include h1
> p>This shows how the PHP include construct works. p> include 'inc/footer.php'; ?>Code language: HTML, XML (xml)
If you run the index.php file and view the source code of the page, you’ll also see the code from the header.php and footer.php files:
html>
html lang="en"> head> meta charset="UTF-8" /> meta name="viewport" content="width=device-width, initial-scale=1.0" /> link rel="stylesheet" href="public/css/style.css" /> title>PHP include Example title> head> body> h1>PHP include h1> p>This shows how the PHP include construct works. p> script src="public/js/app.js"> script> body> html>Code language: HTML, XML (xml)
PHP include & variable scopes
When you include a file, all the variables defined in that file inherit the variable scope of the line on which the include occurs.
1) Including outside a function example
For example, the following defines the $title and $content variables in the functions.php :
// functions.php $title = 'PHP include'; $content = 'This shows how the PHP include construct works.';
Code language: HTML, XML (xml)
When you include the functions.php in the index.php file, the $title and $content variables become the global variables in the index.php file. And you can use them as follows:
include 'inc/header.php'; ?> include_once 'functions.php'; ?> h1> echo $title; ?> h1> p>
echo $content; ?> p> include 'inc/footer.php'; ?>Code language: HTML, XML (xml)
2) Including within a function example
However, if you include a file in a function, the variables from the included file are local to that function. See the following example:
include 'inc/header.php'; ?> include_once 'functions.php'; ?> function render_article() < include 'functions.php'; return " $title
$content "; > echo render_article(); ?> include 'inc/footer.php'; ?>
Code language: HTML, XML (xml)
In this example, we include the functions.php inside the render_article() function. Therefore, the $title and $content variables from the functions.php are local to the render_function() .
It’s important to note that all functions, classes, interfaces, and traits defined in the included file will have a global scope.
Summary
dimo414 / includes-common.inc.php
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
/* |
This file handles all necessary setup that has to happen on each page load. |
It should have no need to be aware of where the server is running from. |
*/ |
session_start(); |
// This file isn’t tracked by version control, and might not exist |
@ require_once ( $ _SERVER [ ‘DOCUMENT_ROOT’ ]. ‘/includes/config.inc.php’ ); |
require_once ( $ _SERVER [ ‘DOCUMENT_ROOT’ ]. ‘/includes/settings.inc.php’ ); |
require_once ( $ _SERVER [ ‘DOCUMENT_ROOT’ ]. ‘/includes/func.inc.php’ ); |
require_once ( $ _SERVER [ ‘DOCUMENT_ROOT’ ]. ‘/classes/template.class.php’ ); |
if ( DEBUG_MODE ) |
error_reporting( E_ALL | E_STRICT ); |
> |
$ template = new template(); |
if (!defined( ‘MYSQL_USER’ )) < // indicates the config file does not exist |
$ template -> error (» The config file has not been created, or is not configured properly. |
Copy the file includes/config.base.inc.php to |
includes/config.inc.php and change the necessary parameters. «); |
niceExit(» Bad Config File «); |
> |
$ db = new mysqli( MYSQL_HOST , MYSQL_USER , MYSQL_PASS , MYSQL_DB ); |
if (mysqli_connect_errno()) |
if ( DEBUG_MODE ) |
$ template -> error ( ‘Failed To Connect To Database: ‘ .mysqli_connect_errno(). ‘: ‘ .mysqli_connect_error()); |
> else |
$ template -> error ( ‘Failed To Connect To Database. Try reloading the page or contact the admin.’ ); |
> |
> |
?> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
/* |
TEMPLATE configuration file — notice that this file is *not* included by common.inc.php |
instead, you are expected to manually copy this file to /includes/config.inc.php and make |
whatever changes need to be made, like specifying a different mysql password, or |
disabling DEBUG_MODE, for instance. |
Reasonable defaults are provided as a starting point. |
*/ |
define( ‘MYSQL_USER’ , ‘root’ ); |
define( ‘MYSQL_PASS’ , » ); |
define( ‘MYSQL_HOST’ , ‘localhost’ ); |
define( ‘MYSQL_DB’ , ‘coolsite’ ); |
define( ‘DEBUG_MODE’ , true ); |
// Any other settings that may depend on where the code is running go here |
?> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
/* |
This file *is* tracked by version control, and should be the same across all environments. |
This contains settings for the project, if you find that helpful. It’s not necessary for all projects. |
*/ |
define( ‘POSTS_PER_PAGE’ , 10 ); |
define( ‘COMMENTS_TO_SHOW’ , 5 ); |
?> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
require_once ( $ _SERVER [ ‘DOCUMENT_ROOT’ ]. ‘/includes/common.inc.php’ ); |
// WEBPAGE GOES HERE |
?> |