Humanbomb Posté 16 Mai 2008 Posté 16 Mai 2008 Bonjour, Je développe un système pour faire des sites et les mettre à jour facile (pour moi) et j'ai un problème. Voici mes fichiers qui font une erreur : Index.php <?php include 'configuration.php'; ?><html><head><title><?php echo $config_sitename; ?></title></head></html><?php include "templates/$config_templates/index.php";?> templates/gt1/index.php CODE <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <link rel="stylesheet" href="<?php echo $config_cheminabsolu; ?>/templates/<?php echo $config_templates; ?>/images/styles.css" type="text/css" /> </head> <body> <div id="HEADER"> <h1><a href="#"><?php echo $config_sitename; ?></a></h1> <p>Build a better mousetrap and the world will beat a path to your door.</p> </div> <div id="NAVIGATION"> <div id="BUTTONS"> <a href="<?php echo $config_cheminabsolu; ?>"><img src="<?php echo $config_cheminabsolu; ?>/templates/<?php echo $config_templates; ?>/images/btn_home.gif" width="35" height="22" alt="Home" border="0"/></a> <a href="mailto:<?php echo $config_mail; ?>"><img src="<?php echo $config_cheminabsolu; ?>/templates/<?php echo $config_templates; ?>/images/btn_mail.gif" width="35" height="22" alt="Email" border="0"/></a> <a href="#"><img src="<?php echo $config_cheminabsolu; ?>/templates/<?php echo $config_templates; ?>/images/btn_login.gif" width="35" height="22" alt="Login" border="0"/></a> </div> <div id="TABS"> <ul> <?php include "$config_cheminabsolu/includes/menuhaut.php";?> </ul> </div> </div> <div id="VISUAL"> <ul> <li class="PhraseOne">Stop spending hours searching for business partners!</li> <li class="PhraseTwo">Partner with us - your online helper!</li> <li class="Button"><a href="#">FREE SIGNUP!</a></li> </ul> </div> <div id="CONTENT"> <div id="LEFTBOX"> <h1>Site News</h1> <div> <p><span class="Date">04.12.06:</span> Hi! This is my first attempt to make a template which can be changed without Photoshop. </p> <p><span class="Date">04.11.06:</span> I can't call this template very simple, but hope it will be helpfull for those who need a stylish straight design.</p> <p><span class="Date">04.10.06:</span> This is a free web template, so you may use it in any way you wish... all I ask for is that you leave the "Design by GetTemplate.com" link in the footer of the site. Thanks.</p> </div> <h1></h1> <div class="Last"> <ul> <?php include "$config_cheminabsolu/includes/menugauche.php";?> </ul> </div> </div> <div id="TEXT"> <ul class="Path"> <li><a href="#">Home</a></li> <li>Welcome</li> </ul> <?php include "$config_cheminabsolu/includes/centre.php"; ?> </div> </div> <div id="FOOTER"> <div id="COPYRIGHT"><?php include "$config_cheminabsolu/includes/footer.php"; ?></div> <div id="LINKS"> <ul> <?php include "$config_cheminabsolu/includes/menubas.php"; ?> </ul> </div> </div> </body> </html> Centre.php <?php include '../configuration.php'; $composant = $_GET['com']; if ($_GET['com']=='') {include "accueil.php"; exit;} include "$config_cheminabsolu/composant/com_$composant/index.php"; ?> Merci d'avance VMichalak
Humanbomb Posté 16 Mai 2008 Auteur Posté 16 Mai 2008 (modifié) quand je fais : http://127.0.0.1:8080/CMS/?com=contact (exemple) sa ne m'affiche pas contact mais accueil.php donc centre.php ne reçoit pas mon GET :'( Edit : Si je retire if ($_GET['com']=='') {include "accueil.php"; exit;} de centre.php sa m'affiche : Warning: include(http://127.0.0.1:8080/CMS/composant/com_/index.php) [function.include]: failed to open stream: HTTP request failed! HTTP/1.0 404 Not Found in H:\fichier\serveur\PortableZMWS-0.8.15-fr-r01\PortableZMWS\ZMWS\_web.zmwsc\CMS\includes\centre.php on line 6 Warning: include() [function.include]: Failed opening 'http://127.0.0.1:8080/CMS/composant/com_/index.php' for inclusion (include_path='.;C:\php5\pear') in H:\fichier\serveur\PortableZMWS-0.8.15-fr-r01\PortableZMWS\ZMWS\_web.zmwsc\CMS\includes\centre.php on line 6 Modifié 16 Mai 2008 par Humanbomb
Dan Posté 17 Mai 2008 Posté 17 Mai 2008 A mon avis c'est parce que le allow_url_include est mis à off (configuration par défaut sur Php 5.2.x)
Humanbomb Posté 17 Mai 2008 Auteur Posté 17 Mai 2008 (modifié) J'utilise PortableZMWS et quand je vais dans PHP.ini ya pas allow_url_include Edit : j'ai ajouter sa : [moi];allow_url_include=On et sa marche toujours pas :'( Modifié 17 Mai 2008 par Humanbomb
Kioob Posté 17 Mai 2008 Posté 17 Mai 2008 Hello, dans le message d'erreur il y a un beau HTTP/1.0 404 Not Found ; donc l'url include est actif, mais l'adresse indiquée est fausse. Par contre coté perfs l'URL include c'est généralement assez désastreux, es tu certain que ce soit ce que tu cherches à faire ?
Humanbomb Posté 17 Mai 2008 Auteur Posté 17 Mai 2008 (modifié) Ce que je veux faire c'est que dans le centre s'affiche un composant que j'ai sélectionner dans l'URL donc mon systeme est je pense bon mais le problème c'est que le centre.php ne reçoit pas les informations : index.php ---include--->templates/gt1---include--->centre.php La preuve est que quand le code de mon centre.php est égale à : <?phpinclude '../configuration.php';$composant = $_GET['com'];include "$config_cheminabsolu/composant/com_$composant/index.php";?> et que mon url est égale à : index.php?com=contact Le site m'affiche une jolie erreur : Warning: include(http://127.0.0.1:8080/CMS/composant/com_/index.php'>(http://127.0.0.1:8080/CMS/composant/com_/index.php) [function.include]: failed to open stream: HTTP request failed! HTTP/1.0 404 Not Found in H:\fichier\serveur\PortableZMWS-0.8.15-fr-r01\PortableZMWS\ZMWS\_web.zmwsc\CMS\includes\centre.php on line 6 Warning: include() [function.include]: Failed opening 'http://127.0.0.1:8080/CMS/composant/com_/index.php' for inclusion (include_path='.;C:\php5\pear') in H:\fichier\serveur\PortableZMWS-0.8.15-fr-r01\PortableZMWS\ZMWS\_web.zmwsc\CMS\includes\centre.php on line 6 Dans cette erreur vous aurez surement remarquer que ma variable n'est pas vu : Warning: include(http://127.0.0.1:8080/CMS/composant/com_/index.php) [function.include]: failed to open stream: HTTP request failed! HTTP/1.0 404 Not Found in H:\fichier\serveur\PortableZMWS-0.8.15-fr-r01\PortableZMWS\ZMWS\_web.zmwsc\CMS\includes\centre.php on line 6 Sur la parti en rouge on voit que ma variables ne marche pas Par contre quand mon centre.php est démarrer tous seul sa marche :'( Merci d'avance Humanbomb Modifié 17 Mai 2008 par Humanbomb
Kioob Posté 17 Mai 2008 Posté 17 Mai 2008 Bah tu repasses par Apache, il s'agit donc d'une autre instance du script, et les variables ne sont évidement pas transmises. Tu fais un : include "$config_cheminabsolu/composant/com_$composant/index.php"; Alors que la variable $config_cheminabsolu est un chemin "externe", à coup de HTTP et compagnie. Pourquoi ne pas faire directement un : include "$VRAI_CHEMIN_DU_FICHIER/composant/com_$composant/index.php"; ?
Humanbomb Posté 17 Mai 2008 Auteur Posté 17 Mai 2008 (modifié) Ce code me servira pour faire plusieurs site je veux pas à avoir à refaire tous le code Voici le code de configuration.php si sa peut vous aider : <?php$config_sitename = 'HumanbombConcept';$config_cheminabsolu = 'http://127.0.0.1:8080/CMS';$config_dbhost = 'localhost';$config_dbuser = 'root';$config_dbpass = '123';$config_dbbase = 'cms';$config_offline = '0';$config_offlinemessage = 'Notre site internet est en cours de maintenance merci de revenir plus tard';$config_erreurmessage = 'Nous sommes désolé mais le site internet est down';$config_mail = '*CENSURER*';$config_templates = 'gt1';?> Modifié 17 Mai 2008 par Humanbomb
Kioob Posté 17 Mai 2008 Posté 17 Mai 2008 (modifié) Ce code me servira pour faire plusieurs site je veux pas à avoir à refaire tous le code euh... il dit qu'il voit pas le rapport :S Y a peut être un truc que j'ai pas pigé dans ta démarche, mais je ne vois vraiment pas dans quel cas pratique un include via HTTP est nécessaire. EDIT : si c'est le chemin "d'installation" de ton CMS que tu cherches, tu dois bien avoir un fichier "commun" à la racine de celui ci, dans ce cas il te suffit d'y placer dirname( __FILE__ ) pour avoir ton chemin d'installation. Modifié 17 Mai 2008 par Kioob
Humanbomb Posté 17 Mai 2008 Auteur Posté 17 Mai 2008 :!: Le problème n'est pas la il est dans ma variable qui n'arrive pas à destination :'( Pouvez-vous m'aider ?
Kioob Posté 17 Mai 2008 Posté 17 Mai 2008 Pourtant le problème est exactement là : à chaque fois que tu utilises $config_cheminabsolu pour un include, les variables ne sont pas transmises.
Humanbomb Posté 17 Mai 2008 Auteur Posté 17 Mai 2008 (modifié) J'ai remplacer mes $config_cheminabsolu par des ./ et ../ Et ce marche Merci Kioob :!: Juste une autre petite question comment fait on pour modifier juste un caractères précis dans un fichier texte ? Merci d'avance Humanbomb Modifié 17 Mai 2008 par Humanbomb
Kent Posté 19 Mai 2008 Posté 19 Mai 2008 Via php ? je suppose que oui tu peux faire un file_get_contents($fichier) stocker ça dans une variable puis faire un str_replace, ensuite il te suffit de faire un echo de cette même variable mise à jour.. si tu utilise un moteur de template tu dois avoir 2 moyens de faire une sortie graphique, soit avec une méthode display soit avec une méthode qui te retourne le contenu à afficher auquel cas tu peux y faire les modification que tu souhaite, toujours via str_replace ou ereg_replace Cordialement, Kent
Humanbomb Posté 19 Mai 2008 Auteur Posté 19 Mai 2008 Oui j'utilise un moteur de templates mais le miens, il n'est pas extrêmement complet
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant