Bonjours a tous,

j'effectue actuellement mon stage de fin de 1ere années de bts en informatique de gestion. Durant ce stage j'ai pour projet de rafraichir le site.

Mon problème est le suivant j'essaie actuellement d'alléger le site internet, pour cela j'ai donc décider de mettre remplacer les entête et les pieds de pages(qui sont actuellement présente sur chaque pages du site..) en utilisant la fonction include.
J'aimerais savoir si il est possible d'apeler un code sous format html dans un premier temps exemple ci-dessous.

head.php:

<?php
$headIndex='	
		<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
		<TITLE>2S2I Solutions et Services informatiques</TITLE>
		<meta http-equiv="pragma" content="no-cache"/>
		<meta name="revisit-after" content="10"/>
		<meta name="description" content="xxxxxxxxxxxxxx"/>
		<meta name="keywords" content="xxxxxxxxxxxxx"/>
		<meta name="robots" content="ALL"/>
		<meta name="language" content="Fr"/>
		<link rel="stylesheet" type="text/css" href="css/default.css"/>';		
?>


J'aimerais savoir ensuite si il est possible de placé plusieurs variable dans comme dans le fichier suivant et si il est possible d'appeler une ou plusieurs de ces variables sans appeler la totalité du fichier head.php

head.php:

<?php
$headIndex='	
		<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
		<TITLE>2S2I Solutions et Services informatiques</TITLE>
		<meta http-equiv="pragma" content="no-cache"/>
		<meta name="revisit-after" content="10"/>
		<meta name="description" content="xxxxxxxxxxxxxxxxxxxxxx"/>
		<meta name="keywords" content="xxxxxxxxxxxx"/>
		<meta name="robots" content="ALL"/>
		<meta name="language" content="Fr"/>
		<link rel="stylesheet" type="text/css" href="css/default.css"/>';		

$headPresentation='
		<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
		<TITLE>2S2I - Nos compétences en systèmes d'information</TITLE>
		<meta http-equiv="pragma" content="no-cache"/>
		<meta name="revisit-after" content="10"/>
		<meta name="description" content="xxxxxxxxxxxxxxxxxx"/>
		<meta name="keywords" content="xxxxxxxxxxxxxxxxxxx"/>
		<meta name="robots" content="ALL"/>
		<meta name="language" content="Fr"/>
		<link rel="stylesheet" type="text/css" href="css/default.css" />
		<script type="text/javascript" src="./js/outils.js"></script>'; */
	
	
$headMetier='		
		<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
		<TITLE>2S2I - Nos métiers et notre savoir-faire</TITLE>
		<meta http-equiv="pragma" content="no-cache"/>
		<meta name="revisit-after" content="10"/>
		<meta name="description" content="xxxxxxxxxxxxxxxx"/>
		<meta name="keywords" content="xxxxxxxxxxxxxxx"/>
		<meta name="robots" content="ALL"/>
		<meta name="language" content="Fr"/>
		<link rel="stylesheet" type="text/css" href="css/default.css" />';

$headOffre='
		// <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
		<TITLE>2S2I - Nos offres d'emploi</TITLE>		
		<meta http-equiv="pragma" content="no-cache"/>
		<meta name="revisit-after" content="10"/>
		<meta name="description" content="xxxxxxxxxxxxxxx."/>
		<meta name="keywords" content="xxxxxxxxxxxxxxxxxxx"/>
		<meta name="robots" content="ALL"/>
		<meta name="language" content="Fr"/>
		<link rel="stylesheet" type="text/css" href="css/default.css" />';
		
$headSociete='	
		// <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
		<TITLE>2S2I - La société</TITLE>
		<meta http-equiv="pragma" content="no-cache"/>
		<meta name="revisit-after" content="10"/>
		<meta name="description" content="xxxxxxxxxxxx."/>
		<meta name="keywords" content="XXXXXXXXXXXXX "/>
		<meta name="robots" content="ALL"/>
		<meta name="language" content="Fr"/>
		<link rel="stylesheet" type="text/css" href="css/default.css" />';
?>


Enfin, est cette manière d'appeler le fichier head.php est la bonne?


<?php
include('head.php');
echo'$headIndex';
?>

Modifié par airmess (18 May 2010 - 10:21)
Salut et bienvenue parmi nous Smiley smile

En tant que modérateur, je me dois de te faire remarquer que tu n'as malheureusement pas respecté l'une des Règles de base du forum qui est d'afficher les codes et exemples proprement à l'aide des boutons [ code]... ici ton code HTML, CSS, PHP, etc.[ /code] (sans espace).

Je te remercie par avance de bien vouloir éditer ton message afin de le rendre conforme à cette règle. Smiley cligne

Bonne continuation Smiley smile

upload/1-code.gif
Bonjour,

Je pense que tu as un problème de logique vis-à-vis des include.

Premières remarques :
* Include peut appeller un fichier HTML (ou de n'importe quelle extension) : include(toto.html);
* Un fichier php peut comporter des portions de texte en dehors des <?php ?> :
 <?php 
  $truc; 
  $bidule 
?>
<head>Mon code HTML <?php echo $avec_des_variables; ?></head>


Je ne pense pas que ta solutions soit pratique, il serait préférable de faire ainsi :
 <?php
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta http-equiv="Content-Language" content="fr-FR" />
<title><?php switch($page){
   case 'index' : echo "2S2I Solutions et Services informatiques"; break;
   case 'page1' : echo "Titre de la page1"; break;
   case 'page2' : echo "Titre de la page2"; break;
?></title>
<meta name="description" content="<?php switch($page){
   case 'index' : echo "Description Index"; break;
   case 'page1' : echo "Description  page1"; break;
   case 'page2' : echo "Description  page2"; break;
?>"/>
<link rel="stylesheet" type="text/css" href="css/default.css"/>'; 
?>


ps. : les meta que j'ai supprimées sont totalement inutiles, rien ne sert de les ajouter.
Modifié par Laurie-Anne (18 May 2010 - 10:13)
ok merci,

la je viens d'essayé de faire ca:
head.php:

<html>
<head>
<?php
if($meta) 
{
    echo "        <meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\" />\n";
}
?>
</head>
<body>
		<TITLE><?php echo $titre; ?></TITLE>
		<meta http-equiv="pragma" content="no-cache"/>
		<meta name="revisit-after" content="10"/>
		<meta name="description" content="xxxxxxxxxxxxxx"/>
		<meta name="keywords" content="xxxxxxxxxxxxx"/>
		<meta name="robots" content="ALL"/>
		<meta name="language" content="Fr"/>
		<link rel="stylesheet" type="text/css" href="css/default.css"/>
</body>
</html>




et le fichier appelant head.php


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
 	<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<?php
<?php
$meta = true; 
$titre = '2S2I Solutions et Services informatiques';
include('head.php');
?>
?>
	</head>
</html>


du coup j'ai une erreur a la ligne 6 "parse error" sur le fichier head.php...

édit: bon j'ai avancé, ma page internet s'affiche mais j'ai encore des erreurs...


Warning: include(head.php) [function.include]: failed to open stream: No such file or directory in C:\wamp\www\2S2I\index.php on line 9

Warning: include() [function.include]: Failed opening 'head.php' for inclusion (include_path='.;C:\php5\pear') in C:\wamp\www\2S2I\index.php on line 9

donc voila je continue de progressé...

2° édit: j'ai résolue mon erreur mon fichier "head.php" n'était pas dans le même répertoire que mon fichier "index.php" d'où l'erreur..
maintenant je vais essayé de concentré toute les entête des page du site sur un seul fichier php.

j'aimerais savoir si il est possible d'appeler un partie du fichier "head.php" en créant une variable(dans celui-ci) qui serait appelé dans mon fichier "index.php".

merci d'avance Smiley cligne
Modifié par airmess (18 May 2010 - 11:10)
airmess a écrit :
j'aimerais savoir si il est possible d'appeler un partie du fichier "head.php" en créant une variable(dans celui-ci) qui serait appelé dans mon fichier "index.php".
Oui c'est possible, avec un if()
Ce que j'aimerais c'est stockés toute les entêtes de page du site dans le fichier "head.php" et les appeler en stockant chaque entête dans des variables et appeler ces variables pour charger les entêtes des pages respective.
Je ne sais pas si j'ai été très clair mais bon...
Modifié par airmess (18 May 2010 - 13:53)
lol tu va me trouvé nul( ce qui est déjà le cas vu le niveaux de mes question) mais en cherchant je viens de comprendre pourquoi ta solution était en faite la plus simple... Smiley mur
Pour ma défense je ne connaissais pas la fonction switch Smiley confused

je vais donc essayé avec le swwitch() que tu ma proposé

merci Smiley cligne
airmess a écrit :
lol tu va me trouvé nul( ce qui est déjà le cas vu le niveaux de mes question) mais en cherchant je viens de comprendre pourquoi ta solution était en faite la plus simple... Smiley mur
Poser des questions et faire des recherches n'as rien de nul, au contraire.

Il y a de nombreuses façon de faire ce que tu cherches, le switch à l'avantage d'être simple. Il est également possible d'utiliser des tableaux de données (pas en HTML mais en PHP) que tu remplis à chaque page du site.
bon j'ai repris donc la structure de ton code et j'ai une "parse error" a la ligne 2 et je vois pas pourquoi...

j'ai ensuite sortie les <meta> du code pensant que c'était la cause de l'erreur mais l'erreur est la même...

voila le code:

head.php

<html>
<head>
//<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> 
//<meta http-equiv="Content-Language" content="fr-FR" /> 
 <?php 
<title><?php switch($page){ 
   case 'index' : echo "Solutions et Services informatiques"; break; 
   case 'présentation' : echo "Nos compétences en systèmes d\'information"; break; 
   case 'métiers' : echo "Nos métiers et notre savoir-faire"; break; 
?></title> 
   <meta name="description" content="<?php switch($page){ 
   case 'index' : echo "Description Index"; break; 
   case 'présentation' : echo "Description  présentation"; break; 
   case 'métier' : echo "Description  métier"; break; 
?>"/> 
<link rel="stylesheet" type="text/css" href="css/default.css"/>';  
?>
</head>
</html>



code appelant:


<?php
//page index
$page='index';
include('head.php');
?>


//page présentation
<?php
$page='présentation';
include('phphead.php');
?>


Voila merci d'avance

ps: je viens de m'appercevoir que la seconde partie du code de head.php ne fonctionné pas( a partir du <metaname="description"...> dans le switch...



édit: J'ai changé complètement de solutionune des pages de mon site web a un titre dynamique en fonction du lien sur lequel on clique(ce lien ne dirige pas vers une autre page il appel un autre scripte via include()...)
j'ai une erreur dans mon script qui fait que seul l'entête de ma page s'affiche voici les bout de script qui sont a vérifier, j'espère que vous pourrez m'aider.
voici mon nouveau head.php


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> 
		<meta http-equiv="Content-Language" content="fr-FR" />
		<title><?php 				
				{
					if ($_GET['page'] == "pol") echo " Notre politique de recrutement"; 
					if ($_GET['page'] == "offres") echo " Nos offres d'emploi";
					if ($_GET['page'] == "spon") echo "Envoyez une candidature spontanée";
				}
				else if(isset($title))
				{
					echo"$title";   
				}
		?></title> 
		<meta http-equiv="pragma" content="no-cache"/>
		<meta name="revisit-after" content="10"/>
		<meta name="description" content=<?php 
			if(isset($description))
			{ 
			echo"$description";
			}
		?>/>
		<meta name="keywords" content=<?php 
			if(isset($keyword))
			{ 
			echo"$keyword";
			}
		?>/>	
		<meta name="robots" content="ALL"/>
		<meta name="language" content="Fr"/>
		<link rel="stylesheet" type="text/css" href="css/default.css"/>
		<?php
			if(isset($page))
			{
			echo"<script type=\"text/javascript\" src=\"./js/outils.js\"></script>";
			}		
		?>
	</head>
	<body bgcolor="#DEDEDE">

morceau de la page posant problème:


<?php
$title='Solutions et Services informatiques';
$description='Description recrutement';
$keyword='key recrutement';
include('head.php');
?>

merci d'avance.
cordialement.
Modifié par airmess (19 May 2010 - 11:45)