Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
819 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] include qui marche pas ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[PHP] include qui marche pas ?

n°342825
MarcP
Boinc.fr
Posté le 25-03-2003 à 17:08:23  profilanswer
 

Salut !
Je ne pige pas, j'ai un includes qui foire, mais c'est tres space (ou alors chui fatigué !)
voila le code :
 
<!-- header //-->
<?php require(DIR_WS_INCLUDES . 'header.php';);
echo (DIR_WS_INCLUDES . 'header.php';);?>
<!-- header_eof //-->
evidemment, tout le code au dessus et au dessous passe bien
dans le source de la page resultat j'ai ca :
<!-- header //-->
includes/header.php<!-- header_eof //-->
le rep est bon, vu que d'autres fichiers en viennent aussi
les droits sont bons aussi (755)
une idée ou une piste ?
 
 :jap:

mood
Publicité
Posté le 25-03-2003 à 17:08:23  profilanswer
 

n°343191
skylight
Made in France.
Posté le 25-03-2003 à 22:18:40  profilanswer
 

et les $ devant les variables c'est pour les chiens ?

n°343193
MarcP
Boinc.fr
Posté le 25-03-2003 à 22:20:45  profilanswer
 

le problème n'est pas la.
Et améliore tes connaissances en PHP, le $ n'est pas obligatoire quand ce n'est pas une variable... ;)

n°343198
skylight
Made in France.
Posté le 25-03-2003 à 22:22:36  profilanswer
 

Je serais bien curieux de savoir quelles choses variables ne nécéssitent pas $ :)

n°343199
NicociN
Posté le 25-03-2003 à 22:23:06  profilanswer
 

et il te met un message d'erreur ou c'est juste que t'as pas accès à ce qu'il y a dans ton fichier include?

n°343225
MarcP
Boinc.fr
Posté le 25-03-2003 à 22:40:04  profilanswer
 

je n'y ai pas acces !
et quand j'ai repris la sauvegarde du fichier inclus (juste fais un copier coller du contenu du fichier inclus) ca a remarché !
Je pense à un bug de php (le require est en pré-processing, donc pas de pb de syntaxe). Je vais essayer de trouver d'ou ca vient et de le reproduire.

n°343233
MarcP
Boinc.fr
Posté le 25-03-2003 à 22:43:29  profilanswer
 

Skylight a écrit :

Je serais bien curieux de savoir quelles choses variables ne nécéssitent pas $ :)


déja entendu parler de constantes ? ;)
http://www.php.net/manual/fr/language.constants.php
je dis ca comme ca, mais c'est un des premiers trucs à apprendre, utiliser une constante quand c'est possible : c'est + performant, ca évite les conneries et c'est plus propre ;)

n°343239
MarcP
Boinc.fr
Posté le 25-03-2003 à 22:44:24  profilanswer
 

Skylight a écrit :

et les $ devant les variables c'est pour les chiens ?


voila :  
 Il y a des différences entre les constantes et les variables :
 
    *
 
      Les constantes ne commencent pas par le signe ($);
    *
 
      Les constantes sont définies et accessibles à tout endroit du code, globalement.
    *
 
      Les constantes ne peuvent pas être redéfinies ou indéfinies une fois qu'elles ont été définies.
    *
 
      Les constantes ne peuvent contenir que des scalaires.  
avant de répondre aggrésivement, maitrise un peu le sujet stp.

n°343256
skylight
Made in France.
Posté le 25-03-2003 à 22:50:51  profilanswer
 

OK :jap:
je savais pas que le php contenait des constantes :o

n°343261
MarcP
Boinc.fr
Posté le 25-03-2003 à 22:55:27  profilanswer
 

[:the radec]   [:yaisse2] :lol: :hello:

mood
Publicité
Posté le 25-03-2003 à 22:55:27  profilanswer
 

n°343288
daique
Posté le 25-03-2003 à 23:32:05  profilanswer
 

Aucun rapport d'erreurs?

n°343292
MarcP
Boinc.fr
Posté le 25-03-2003 à 23:35:36  profilanswer
 

aucun ! comme si il ignorait le fichier !

n°343305
daique
Posté le 25-03-2003 à 23:41:35  profilanswer
 

il serait pas vide ton fichier par hazard?

n°343313
MarcP
Boinc.fr
Posté le 26-03-2003 à 00:01:27  profilanswer
 

non !

n°343328
NicociN
Posté le 26-03-2003 à 00:53:25  profilanswer
 

tu veux pas afficher ton header.php

n°343336
ethernal
Chercheur de vérité...
Posté le 26-03-2003 à 01:09:12  profilanswer
 

+1 (montre ton source de header.php)
 
y a-t'il au moins un echo dans ton header.php ?
utilises tu les fonctions ob_start(), ob_*()


---------------
...oups kernel error...
n°343510
MarcP
Boinc.fr
Posté le 26-03-2003 à 10:31:12  profilanswer
 

Apres resolution du problème :
Ca viens pas du fichier header, mais du fichier inclus, a priori son contenu passait pas !
Rien pigé, car c'est du préprocessing, meme si je met des conneries il est pas censé y faire attention
Je pense que par hasard dans le fichier include a du se trouver une chaine qui fait planter le parseur, je vois pas d'autre explication.
(Si je suis reticent à donner mon code c'est que je suis sous contrat avec le client, ca doit rester "secret" jusqu'à la sortie du site.)
Mais il ne contient que du code et du HTML !
j'ai repris l'original du fichier, avant mes dernières modifs et ca passe bien ! Je vais essayer de voir quelle modif l'a fait planter, mais la j'ai rajouté des tonnes de trucs depuis hier soir, ca passe sans pb.

n°343527
MarcP
Boinc.fr
Posté le 26-03-2003 à 10:36:30  profilanswer
 

<table border="0" width="100%" bgcolor="#000000" cellspacing="0" cellpadding="0">
  <tr class="header">
    <td valign="middle" bgcolor="#FFFFFF"><center><?php echo '<a href="' . tep_href_link(PAGE_ACCUEIL) . '">' . tep_image(DIR_IMAGES . 'site/biglogo.png', NOM) . '</a>'; ?></td>
   <!-- <td align="right" valign="bottom" bgcolor="4364DD"><!--?php echo '<a href="' . tep_href_link(FILENAME_ACCOUNT, '', 'SSL';) . '">' . tep_image(DIR_IMAGES . 'header_account.gif', HEADER_TITLE_MY_ACCOUNT) . '</a>  <a href="' . tep_href_link(FILENAME_CART) . '">' . tep_image(DIR_IMAGES . 'header_cart.gif', HEADER_CONTENTS) . '</a>  <a href="' . tep_href_link(FILENAME_CHECKOUT_SHIPPING, '', 'SSL';) . '">' . tep_image(DIR_IMAGES . 'header_checkout.gif', HEADER_CHECKOUT) . '</a>'; ?>  </td>-->
 </tr>
</table>
<table align="center">
<colgroupe>
<!--<table border="0" width="100%" bgcolor="#4364DD" cellspacing="0" cellpadding="1">
  <tr class="headerNavigation">
    <td class="headerNavigation">  <?php //echo $breadcrumb->trail(' &deb_nav; ';); ?></td>
    <td align="right" class="headerNavigation"><?php //if (tep_session_is_registered('customer_id';)) { ?><a href="<?php //echo tep_href_link(FILENAME_LOGOFF, '', 'SSL';); ?>" class="headerNavigation"><?php //echo HEADER_TITLE_LOGOFF; ?></a>  |  <?php } ?><a href="<?php //echo tep_href_link(FILENAME_ACCOUNT, '', 'SSL';); ?>" class="headerNavigation"><?php // echo HEADER_TITLE_MY_ACCOUNT; ?></a>  |  <a href="<?php //echo tep_href_link(FILENAME_SHOPPING_CART); ?>" class="headerNavigation"><?php //echo HEADER_TITLE_CART_CONTENTS; ?></a>  |  <a href="<?php //echo tep_href_link(FILENAME_CHECKOUT_SHIPPING, '', 'SSL';); ?>" class="headerNavigation"><?php //echo HEADER_TITLE_CHECKOUT; ?></a>   </td>
  </tr>
</table>-->
<?php
  if (isset($HTTP_GET_VARS['error_message']) && tep_not_null($HTTP_GET_VARS['error_message'])) {
?>
<table border="0" width="100%" bgcolor="#4364DD" cellspacing="0" cellpadding="2">
  <tr class="headerError">
    <td class="headerError"><?php echo urldecode($HTTP_GET_VARS['error_message']); ?></td>
  </tr>
</table>
<?php
  }
 
  if (isset($HTTP_GET_VARS['info_message']) && tep_not_null($HTTP_GET_VARS['info_message'])) {
?>
<table border="0" width="100%" bgcolor="#4364DD" cellspacing="0" cellpadding="2">
  <tr class="headerInfo">
    <td class="headerInfo"><?php echo $HTTP_GET_VARS['info_message']; ?></td>
  </tr>
</table>
<?php
  }
?>
 
 
avec ce contenu la, ca passe pas (l'accolade ?)
bcp de code est commenté, je fesais des essais sur la mise en page
toutes les variables et constantes sont ok.
Si qqun a une idée ...

n°343675
ethernal
Chercheur de vérité...
Posté le 26-03-2003 à 11:45:27  profilanswer
 

oulala pas trop lisible tout ça :( la prochaine fois entoure le des balises [ code ] [ /code ] (sans les espaces)
 
normalement un include qui produit une erreur doit l'afficher sauf
- si tu as mis un @ devant l'include ou le require (@include ou @require)
- si tu as désactiver l'affichage des erreurs... (logique)
 
pour tester simplement, affiche directement le fichier dans ton browser (http://localhost/ton_rep/header.php), mais étant donné que tu y fais référence à des fonctions, j'ai peu d'espoir que les erreurs soient les bonnes, mais qui sait...


---------------
...oups kernel error...
n°343787
MarcP
Boinc.fr
Posté le 26-03-2003 à 13:42:01  profilanswer
 

non, mais normalement le require recopie le fichier SANS S'OCCUPER DU CONTENU (dixit la doc) donc en cas d'erreurs elles sont affichées apres. or la, le contenu est pas recopié :/

n°343847
jagstang
Pa Capona ಠ_ಠ
Posté le 26-03-2003 à 14:28:52  profilanswer
 


DIR_WS_INCLUDES  
 
C'est une constante système pour définir le répertoire include ? comment l'initialiser, la modifier ??  
 
Merci

n°343880
MarcP
Boinc.fr
Posté le 26-03-2003 à 14:57:18  profilanswer
 

c'est pas une constante systeme ;)
Si tu veux faire une constante systeme en plus, ben dans php.ini t'as moyen de rajouter un fichier chargé a chaque appel de PHP => tu la met dedans.
Pour définir une constante j'ai posté le lien quelques post au dessus...

n°344172
jagstang
Pa Capona ಠ_ಠ
Posté le 26-03-2003 à 17:15:24  profilanswer
 

MarcP a écrit :

c'est pas une constante systeme ;)
Si tu veux faire une constante systeme en plus, ben dans php.ini t'as moyen de rajouter un fichier chargé a chaque appel de PHP => tu la met dedans.
Pour définir une constante j'ai posté le lien quelques post au dessus...


 
non, c'est pas un DEFINE que j'aimerais pouvoir faire.
 
ce que j'aimerais, c'est que ou que je me trouve sur le site (répertoire racine / sous-répertoire)
 
je trouve mon répertoire d'include et d'image simplement, relativement au chemin ou je me trouve
 
inc/connect.php
 
dans le fichier /index.php :
include("inc/connect.php" ) ;
 
j'aimerais pouvoir utiliser la même ligne dans un fichier qui se trouverais dans  
 
sourep/index.php
 
au lieu de devoir faire include("../inc/connect.php" ) ;
 
 
 
 
 
 
 
 

n°344488
MarcP
Boinc.fr
Posté le 26-03-2003 à 22:15:11  profilanswer
 

relis ce que je t'ai mis, ca suffit parfaitement, tu met juste un require en haut du fichier ;)

n°344646
jagstang
Pa Capona ಠ_ಠ
Posté le 26-03-2003 à 23:32:22  profilanswer
 

MarcP a écrit :

relis ce que je t'ai mis, ca suffit parfaitement, tu met juste un require en haut du fichier ;)


 
euh... non désolé

n°344893
MarcP
Boinc.fr
Posté le 27-03-2003 à 10:27:52  profilanswer
 

tu vas dans php.ini
tu lui met une ligne pour qu'il charge a chaque script un fichier "toto.php"
dans toto.php, tu definis tes constantes qui seront utilisées dans tous les autres scripts ;)
ca te permet aussi de mettre des fonctions type BAN-IP, stats avancées, temps de génération de la page (on peut aussi ajouter un fichier à la fin), pub :D , etc ;)

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] include qui marche pas ?

 

Sujets relatifs
PHP : XML parser : plante sur les accents ![PHP/SQL] ORDER BY m'a tuer ...
Entrée clavier avec PHP en ligne de commande ?Je cherche un assistant graphique qui génère du PHP .
[PHP] Le PHP pour s'amuser avec la conjecture de Syracuse[PHP / mySQL] Problème de création d'une table
[PHP]comment mettre une image en arrière plan?[PHP] Cryptage de sources PHP
[PHP] multiplier des morceaux de chaîne de caractères[PHP] comment ça marche "include" ?
Plus de sujets relatifs à : [PHP] include qui marche pas ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR