Forum Clubic

Souci de concaténation - en php

Salut !
DAns un souci de vouloir mieux organier mon code, j’ai decidé de creer une fonction qui regroupe tout le “haut de mon site” pour ensuite faire appel à elle à chaque fois que je crée une page web.
Seulement dans cette fonction je fais appel à d’autres fichiers et j’ai un souci de concaténation.
Voilà mon code


function haut($titre)
	{
  ?>
  <!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?quot;>
  <head>
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  <title><?php echo $titre; ?></title>
  <link href="<?php echo' http://'.$_SERVER['SERVER_NAME'].'/daibutsu/style.css';?>" rel="stylesheet" type="text/css" />
  </head>
  <body>
  <div id="header">
  <?php 
  $header="http://'.$_SERVER['SERVER_NAME'].'/daibutsu/header.php";
  include ($header); 
  ?>
  </div>
  
  <div id="conteneur">
    <?php include "../gauche.htm"; ?>
    
    <div id="centre">
  	<div id="centrefond">
    <div id="contenu"></div>
     <div id="texte">
  	<?php	
	}

Le probleme apparait avec le $header
J’ai une page blanche avec une erreur



Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in C:\wamp\www\daibutsu\inc\fonctions.php on line 18

J’ai essayé plein de trucs, çà passe pas
qqn peut-il m’aider svp ?

Merci d’avance

Pour commencer :

<?php
$header=“http://’.$_SERVER[‘SERVER_NAME’].’/daibutsu/header.php”;
include ($header);
?>

  1. on évite de faire un include d’un fichier provenant du net, c’est très mauvais pour les perfs et pour la sécurité (qui te dit que le serveur en face soit le bon?)

  2. include $header; y a pas besoin des parenthèses avec include, require, include_once, require_once, return, break, continue, case et j’en passe.

Sinon ton erreur est là :


$header="http://'.$_SERVER['SERVER_NAME'].'/daibutsu/header.php";
--------^-------^

Tu n’utilises pas le même délimiteur.

Dans la logique, tu devrais utiliser :

$header= 'http://'.$_SERVER['SERVER_NAME'].'/daibutsu/header.php';

merci pour les conseils
si jfai çà c’est pour ne pas changer a chaque fois la racine du site qui est differente en local et sur le net !

apres avoir modifier j’ai ces erreurs là mais jpense qu’elles sont normales

Warning: include() [function.include]: URL file-access is disabled in the server configuration in C:\wamp\www\daibutsu\inc\fonctions.php on line 19

Warning: include(http://localhost/daibutsu/header.php) [function.include]: failed to open stream: no suitable wrapper could be found in C:\wamp\www\daibutsu\inc\fonctions.php on line 19

Warning: include() [function.include]: Failed opening 'http://localhost/daibutsu/header.php' for inclusion (include_path='.;C:\php5\pear') in C:\wamp\www\daibutsu\inc\fonctions.php on line 19

Oui tout à fait.

Tu ne peux pas ouvrir de fichier via url (ce qui est bien).

Pour ton cas, il faut jouer autrement, avec $_SERVER['DOCUMENT_ROOT] par exemple.

Une erreur est par définition quelque chose d’Anormal :heink:

Non, tu piges pas :slight_smile: elles sont normales parce qu’il a fait le con. Certes, une erreur est anormale, mais il se peut que ce soit tout à fait normal que cela arrive.

Nuance! :slight_smile:

Ouais ptète j’avoue que j’ai un peu lu en diagonale. :whistle: