8711 sujets

Développement web côté serveur, CMS

la structure :
data/siteconfig/siteconfig.php
sub-demos/demo-typo/demo.php
sub-demos/demo-typo/header.php
themes/default/static-home.php
themes/default/header.php
config.php
index.php
J'ai le message d'erreur : Use of undefined constant MYS_SITE_CONFIG
dans config.php :

define('MYS_SITE_CONFIG', 'data/siteconfig/');
 

dans index.php:

define('MYS_ROOT', './');
include(MYS_ROOT.'config.php');	
 define('ROOT_SUBFOLDER', MYS_ROOT.'sub-demos');

dans demo.php

<?php include('/header.php') ?>

dans header.php:

<!DOCTYPE html>
<html lang="fr"> 
<head>
    <?php require_once (MYS_SITE_CONFIG.'gtag.php');?>
    <?php include(MYS_SITE_CONFIG.'siteconfig.php'); ?>

Modifié par cpalo (16 Nov 2017 - 19:19)
Salut
Verifie avec un echo "toto" par exemple que ton config est bien chargé par ton include au départ.. il se peut tout simplement qu'il ne soit pas appelé.
si j'ajoute echo "TOTO" dans le config.php
TOTO s'affiche aussitôt au lancement du site
le config.php est donc bien chargé

Le message d'erreur c'est lorsque je veux aller à
htpp://monsite.fr/sub-demos/demo-typo/demo-php
par contre pas de message d'erreur pour accéder au site htpp://monsite.fr
Modifié par cpalo (15 Nov 2017 - 15:30)
question con mais là je vois pas la structure complète Smiley cligne

Ton config est bien chargé AVANT ton header ??

la logique voudrait que tu appelles index.php qui à un moment va appeler demo.php et ça bien après l'include de config, masi toujours dans la page index ?

Faudrait que tu nous dise dan squel sens tout ça fonctionne Smiley smile
Attention aux chemins relatifs côté serveur, c'est très bancale de faire comme cela. Généralement tu as une constante que tu définis très tôt (soit à la main/soit calculé) dans le script qui permet ensuite de construire tout les autres chemins de ton script avec des chemins absolus.

Ensuite il n'y a pas d'intérêt à appeler entre les balises <head> ton script php vu ce qu'il fait actuellement ; définir des constantes. Tu dois faire tout cela en amont de ton template.

Pour l'erreur il y a certainement un problème d'ordre en effet.
Modifié par bzh (15 Nov 2017 - 15:46)
Je reprends tout cela en tenant compte de vos remarques..
Car je viens de voir qu'il a 2-3 mélanges .
Et je reviens vers vous
Bonjour,
@bzh
Je pensais avoir créer une constante initiale qui permettait que tous les chemins partent ensuite de la racine.
define('MYS_ROOT', './');

L'erreur vient peut-etre du point devant le slash? aurai-je du dans ce cas écrire:
define('MYS_ROOT', '/');

Mais voulais-tu plutôt dire quelque chose comme :
define('MYS_ROOT','$_SERVER["DOCUMENT_ROOT"]')