Pages :
Bonjour,
voici mon soucis, j'ai créé une page index basique avec un header en include, en faisant des essais avec MAMP tout se passait tres bien, mais lorsque j'ai placé mes fichiers sur mon serveur, problème le header n'apparait pas. Sauriez vous d'ou peut venir le problème ? J'ai déjà réalisé des sites de cette manière mais là j'avoue ne pas comprendre d'où vient le problème,
voici le code de l'index :
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<meta name="">
<link href="style.css" rel="stylesheet" type="text/css">
</head>

<body>
<?php include 'header.php'; ?>
<div class="content">
	<h1>Aircology Concept</h1>
	<div class="conteneur_citation"><h2>
		Promouvoir la qualité de l'air en la rendant visible à chacun par toutes les expressions possibles. Que ce soit la recherche, l'information, l'éducation ou l'art, investiguer toute voie permettant à l'air d'exister. 100% du temps de chacun, passé et à venir, l'air mérite bien une initiative protéiforme pour le servir. Sachons Air!</2></div>
</div>
</body>
</html>
Ton index, tu l'as nommé index.php ou index.html ? Selon la configuration d'Apache (mais c'est réglable dans le .htaccess), l'interpréteur php n'est pas activé pour les fichiers d'extension html. Ca peut-être une explication...
1/Y a til un message d'erreur lor de l'inclusion de ton header.php?
2/ Verifie que ton header.php ne pas vide
3/au lieu de ça <?php include 'header.php'; ?> utilise <?php require"header.php" ;?>
4/Si ça ne marche pas toujour verifie que ton header.php est dans le meme repertoire que index.php & pour verifier le repertoire dans le quel le script courant s'execute on fait:

<?php echo $_server['SCRIPT_FILENAME'] ; ?> ou <?php echo $_server['DOCUMENT_ROOT'] ; ?>

5/a la place de <?php require"header.php" ;?> utilise <?php require_once"header.php" ;?>

Essaye si ça marche me nous aucourans pour plus d'aide.
essaie la syntaxe suivante :
include("./header.php");
include est une fonction, donc mettre des parenthèses et comme tu n'es pas à la racine du site il faut utiliser le chemin complet './'
Le fichier où tu fais l'include, il porte une extension .php ?

Ensuite, est-ce que ton serveur accepte le PHP ? Si tu travailles chez toi, est-ce que tu as wamp/lamp/mamp et que tes fichiers sont bien dans les www ?
bon je crois que j'ai fait une bêtise, il y'avait trois dossier dans le serveur : "private" "web" et "public", j'ai voulu supprimer "web" et "public", pour créer un "www" et maintenant cela ne fonctionne plus du tout... Erreur 404... J'utilise MAMP, et par ce biais tout fonctionne très bien, je ne sais pas si l'héberge accepte le php je n'ai pas les codes pour accéder à l'espace client de l'hébergeur, je vais les demander

Je peux a nouveau voir le site http://aircology.com/, mais pas le header, il possible que cela vienne de l'héberger, j'imagine qu'il faut changer d'offre pour l'hébergement

Je viens d'essayer de placer le site dans un autre serveur et cela fonctionne très bien confirmation c'est au niveau de l'hébergement que je dois modifier des choses
Modifié par Georgetta (03 Oct 2013 - 20:31)
Zebrou a écrit :
essaie la syntaxe suivante :
include(&quot;./header.php&quot;);
include est une fonction, donc mettre des parenthèses et comme tu n'es pas à la racine du site il faut utiliser le chemin complet './'

Non non, pas du tout ! Le manuel PHP est très clair à ce sujet : "Comme include est une structure de langage particulière, les parenthèses ne sont pas nécessaires autour de l'argument."
Bonsoir,

index.php et header.php sont accessibles (ce qui confirme, si besoin était, que votre "hébergeur accepte le PHP"...)
L'inclusion ne devrait donc pas poser de problème (quelque soit la méthode retenue).
Le lien que vous donnez ci-dessus pour le fichier header.php n'est pas accessible comme cela vous a été confirmé ( il n'y a pas de dossier "prev" ...)...
À vous de jouer Smiley cligne
Bonjour,
Si on affiche la source du site qui ne fonctionne pas, on remarque que la ligne du include apparait dans ce code source, ce qui voudrait surement dire que cette commande n'est pas interprétée comme du php:
<body>

<?php include("./header.php");?>

<div class="content">


Je suggère de tenter d'écrire à la ligne (on ne sait jamais ^^):
<?php
include './header.php';
?>

De même, est ce que c'est la même version de PHP qui tourne sur sarl-lailler et aircology?
Bonjour,

À 22:46:35 hier soir, le site, ainsi que les fichiers, étaient accessible, ce n'est plus le cas ce matin...
Les sources ne sont plus en ligne, donc je ne peux pas vérifier, mais selon moi, si <?php n'est pas interprété, c'est qu'il y a plus haut un souci dans le html, genre une balise mal fermée...
Georgetta fait attention je comme l'impression que tu as un probleme des dossiers verifie bien ça:

http://aircology.com/prev/header.php ERREUR 404 - File or directory not found.
http://aircology.com/prev/index.php ERREUR 404 - File or directory not found.

ce qui veut dire que le fichier header.php et index.php ne se trouve pas dans ce dossier!
Modifié par sylarman5 (05 Oct 2013 - 02:11)
Bonjour à toutes et à tous.

Vous commencez par la fin. Le include n'est pas le problème car vous ne savez pas si vous avez accès à php et si le chemin est correcte vers votre fichier index.php.
Je pense que votre problème est une mauvaise déclaration dans l'accessibilité à votre site.
Il faut procéder par étape pour comprendre ce qui ne va pas.

1) Lorsque je tape l'url suivante : http://aircology.com/ j'accède à la page html suivante :

<html>
<head>
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<FRAMESET rows="100%,*" FRAMEBORDER="0" FRAMEBORDER="0" BORDER=0 FRAMESPACING="0">
        <FRAME SRC="http://courtesy.amen.fr/index.html" NAME="top" BORDER=0 FRAMESPACING="0" FRAMEBORDER="0" NORESIZE SCROLLING="AUTO">
        <FRAME SRC="" NAME="bottom" BORDER=0 FRAMESPACING="0" FRAMEBORDER="0" NORESIZE SCROLLING="NO">
        <noframes>
                <body bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#CC0000" alink="#00CC33">
                        <font face="Verdana">
                        <p>&nbsp;<p>&nbsp;<p>
                        <a href="http://courtesy.amen.fr/index.html">http://courtesy.amen.fr/index.html</a>
                        <p>&nbsp;<p>&nbsp;<p>&nbsp;
                        </font>
                </body>
        </noframes>
</FRAMESET>
</htm

Il n'y a pas de doctype, ni les balises title et body, et la balise de fermeture <html> est incorrecte. Mais cela n'est qu'un détail.
L'important est que je peux accéder à l'adresse http://aircology.com/

2) en ce point, j'ignore si le fichier qui donne le résultat ci-dessus est un index.html ou un index.php.
Vous devez vérifier soit dans votre fichier de configuration httpd.conf ou dans .htaccess vers quoi vous pointer.
Pour cela vous devez rechercher dans votre VirtualHost (celui qui pointe vers http://aircology.com/ ), la déclarative "DirectoryIndex".
A titre indicatif, je vous donne ce que j'ai chez moi.

DirectoryIndex index.php index.html /Erreurs/404.php

Il accepte les fichier index.php en premier et index.html en second.
S'ils n'existent pas, j'affiche une page erreur définit par /Erreur/404.php.

Attention, Linux est sensible à la casse. Exemple : "Index.html" et "index.html" sont deux fichiers distincts à cause de la majuscule. Windows, inversement, n'est pas sensible à la casse.
Si vous ne conaissez pas, voici un lien explicatif sur la signification de la sensibilité à la casse!
Vous devez vérifier aussi le fichier .htaccess.

Vérifier dans le répertoire racine de votre site que vous avez bien index.php ou index.html !

3) Est-ce que le php est activé dans votre serveur web ? Vérifiez que vous avez :

AddType application/x-httpd-php .php .phtml .php3 .html .htm]

pour le module mime et aussi :

LoadModule php5_module "f:/Wamp/bin/php/php5.4.12/php5apache2_4.dll"

4) le mieux est de commencer par le plus simple.
Créer un fichier "index.php" à la racine de votre site, c'est-à-dire là où pointe votre VirtualHost par la directive DocumentRoot.
Ne vous trompez pas de chemin ! Mettez le contenu suivant :

<!doctype html>
<html>
<head><title>php</title></head>
<body>
<?php echo "<p>php est accessible</p>\n"; ?>
</body>
</html>

Si la phrase "php est accessible" s'affiche alors le paragraphe 2 et 3 fonctionne correctement.
De plus, le chemin est correcte pour accéder à la racine de votre site.

5) avez-vous un répertoire "prev" ? Attention à la casse.
Dans ce répertoire avez-vous un fichier index.html ou un fichier index.php ?
Recommencer l'étape 4.

6) si vous ne vous êtes pas trompé ni dans les noms des fichiers (étape 2), ni dans l'accessibilité à php (étape 3), ni sur l'existence du répertoire prev (étape 5), normalement le include php fonctionne !

@+
Modifié par tournikoti (05 Oct 2013 - 18:57)
Pages :