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

  FORUM HardWare.fr
  Programmation
  PHP

  Pb d'include

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Pb d'include

n°1560602
twinsen60
Posté le 15-05-2007 à 12:12:07  profilanswer
 

Je vais essayer d'être clair.  
 
J'ai un site www.site.com (c'est un exemple)  
 
avec dedans index.php head.php et foot.php  
 
dans head.php j'ai :  
PHP:

Code :
  1. <!DOCTYPE HTML SYSTEM>
  2. <html>
  3. <!-- Date de création : 18 août 2004 -->
  4. <!-- Date de dernière modification (approximatif) : 15 juin 2005 -->
  5. <head>
  6. <title>TOTO.COM</title>
  7. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  8. <meta name="date-creation-yyyymmdd" content="20040818">
  9. <meta name="robots" content="index,follow,all">
  10. <meta http-equiv="content-style-type" content="text/css">
  11. <link rel="STYLESHEET" type="text/css" href="/style.css">
  12. </head>
  13. <body bgcolor="#FFFFFF" text="#000000" link="#333333" vlink="#666666" alink="#666666" rightmargin="0" topmargin="0" bottommargin="0" leftmargin="0" onResize="window.location=window.location;">
  14. <!-- ------------------------------------ -->
  15. <!--               Entête                 -->
  16. <!-- ------------------------------------ -->
  17. <tr valign="top">
  18.  <td height="150">
  19.   <table width="100%" border="0" cellspacing="0" cellpadding="0">
  20.    <tr>
  21.     <td width="75%">  
  22.     <a href="/"><img src="entete01.jpg" border="0" alt="Accueil" height="150"><img src="entete02.jpg" border="0" alt="Accueil" height="150"><img src="entete03.jpg" border="0" alt="Accueil" height="150"><img src="entete04.jpg" border="0" alt="Accueil" height="150"></a>
  23.     </td>
  24.     <td width="25%" align="right">
  25.      <table width="180" height="150" align="right" bgcolor="#3860c0" valign="top">
  26.    </table>
  27.     </td>
  28.    </tr>
  29.   </table>
  30.  </td>
  31. </tr>
  32. <tr>
  33. ........

 
 
Ensuite dans Foot.php juste du texte commun a toute les pages  
 
et dans Index.php j'ai :  
PHP:

Code :
  1. <?php include 'head.php'; ?>
  2. ......
  3. <?php include 'foot.php'; ?>


 
Voilà, sauf que j'ai trouver un Lecteur de news en php, a partir d'un fichier .txt.  
 
Donc, dans Head.php j'ai au niveau de Entête :  
PHP:  

Code :
  1. <!-- ------------------------------------ -->
  2. <!--               Entête                 -->
  3. <!-- ------------------------------------ -->
  4. <tr valign="top">
  5.  <td height="150">
  6.   <table width="100%" border="0" cellspacing="0" cellpadding="0">
  7.    <tr>
  8.     <td width="75%">  
  9.     <a href="/"><img src="entete01.jpg" border="0" alt="Accueil" height="150"><img src="entete02.jpg" border="0" alt="Accueil" height="150"><img src="entete03.jpg" border="0" alt="Accueil" height="150"><img src="entete04.jpg" border="0" alt="Accueil" height="150"></a>
  10.     </td>
  11.     <td width="25%" align="right">
  12.      <table width="180" height="150" align="right" bgcolor="#3860c0" valign="top">
  13.       <?php include "ticker.php"; ?>
  14.    </table>
  15.     </td>
  16.    </tr>
  17.   </table>
  18.  </td>
  19. </tr>
  20. <tr>

 
 
 
Ce qui a pour but, de m'afficher correctement mes news.  
 
Voici aussi le code du ticker.php mes news :  
PHP:  

Code :
  1. <html><head>
  2. <style type="text/css">
  3. <!--
  4. .Style1 {
  5.    color: #FFFFFF;
  6.    font-weight: normal;
  7. }
  8. -->
  9. </style>
  10. </head><body>
  11. <?php
  12. $password = "test";  //CHANGE THE LOGIN PASSWORD
  13. extract($HTTP_GET_VARS);
  14. extract($HTTP_POST_VARS);
  15. if ($action != "admin" && $action != "login" && $action!= "temp3" ){
  16. ?>
  17. <TABLE width="180" height="140" cellPadding=0 cellSpacing=0 bordercolor="#3860c0" bgcolor=#CCCCCC style="BORDER-RIGHT: #3860c0 0px double; PADDING-RIGHT: 0px; BORDER-TOP: #3860c0 0px double; PADDING-LEFT: 0px; FONT-WEIGHT: bold; FONT-SIZE: 10px; BACKGROUND-IMAGE:  PADDING-BOTTOM: 0px; MARGIN: 0px; VERTICAL-ALIGN: top; BORDER-LEFT: #3860c0 0px double; WIDTH: 180px; COLOR: #ffffff; PADDING-TOP: 0px; BORDER-BOTTOM: #3860c0 0px double; FONT-STYLE: normal; FONT-FAMILY: Arial, Helvetica, sans-serif; TEXT-DECORATION: none" >
  18. <TBODY>
  19. <TR bgcolor="#3860c0">
  20. <TD width="180" style="BORDER-RIGHT: #3860c0 0px double; PADDING-RIGHT: 0px; BORDER-TOP: #3860c0 0px double; PADDING-LEFT: 0px; FONT-WEIGHT: bold; FONT-SIZE: 20px;  MARGIN: 0px; VERTICAL-ALIGN: center; BORDER-LEFT: #3860c0 0px double; COLOR: #ffffff; LINE-HEIGHT: normal; PADDING-TOP: 0px; BORDER-BOTTOM: #3860c0 0px double; BACKGROUND-REPEAT: repeat-x; FONT-STYLE: normal; FONT-FAMILY: Arial, Helvetica, sans-serif; HEIGHT: 20px; TEXT-DECORATION: none;    FONT-SIZE: 10px; COLOR: #000000; FONT-FAMILY: Verdana, Helvetica, Arial "><div align="center"><span class="Style1">&nbsp;<b>News</b></span></div></TD>
  21. </TR>
  22. <TR>
  23. <TD height="120" style="BORDER-RIGHT: #3860c0 2px double; PADDING-RIGHT: 4px; BACKGROUND-POSITION: center bottom; BORDER-TOP: #3860c0 2px double; PADDING-LEFT: 4px; FONT-WEIGHT: normal; FONT-SIZE: 10px;  PADDING-BOTTOM: 4px; MARGIN: 0px; VERTICAL-ALIGN: top; BORDER-LEFT: #3860c0 2px double; COLOR: #ffffff; LINE-HEIGHT: normal; PADDING-TOP: 4px; BORDER-BOTTOM: #3860c0 2px double; BACKGROUND-REPEAT: repeat-x; FONT-STYLE: normal; FONT-FAMILY: Arial, Helvetica, sans-serif; TEXT-DECORATION: none     FONT-SIZE: 11px; COLOR: #000000; FONT-FAMILY: Verdana, Helvetica, Arial">
  24. <MARQUEE onmouseover=this.stop() onmouseout=this.start()  
  25. scrollAmount=2 direction=up width="100%" height=120><?php $fp = file("news.txt" );
  26. for($i = 0; $i <sizeof($fp);$i++){
  27. echo $fp[$i]."<BR>";
  28. } ?></MARQUEE></TD></TR></TBODY></TABLE>
  29. <?php
  30. }
  31. if ($action=="admin" ){
  32. ?>
  33. <body bgcolor="#ccccc">
  34. <center><table align=middle><td align=left width=20%>
  35. <tr><td height="27" colspan="2"><FONT SIZE="4" COLOR="#000000">:: Lecteur de News ::</FONT></td><tr><td>&nbsp;</td>
  36. </tr><tr><form method=post action="?action=login"><td>Password:</td><td><input type=password name=pass>&nbsp;<input type=submit value=Submit></td></tr></form></table></center>
  37. <?php
  38. }
  39. if ($action=="login" ){
  40. if ($pass==$password){
  41. echo"Password <b>OK</b>";
  42. $fd = fopen ("news.txt", "r" );  
  43. $stuff = fread ($fd, filesize ("news.txt" ));  
  44. fclose ($fd);
  45. php?>
  46. <body bgcolor="#ccccc">
  47. <td height="399" width="100%" valign="top">  
  48. <form method="post" action="?action=temp3&te=news.txt">
  49. <table width="100%" border="0" cellpadding="5" cellspacing="0">
  50. <tr>  
  51. <td><b><u>Modification News :</u></b></td>
  52. </tr>
  53. <tr>  
  54. <td width="100%">  
  55. <textarea name="cont" cols="36" rows="20"><?php  echo $stuff ?></textarea>
  56. </td>
  57. </tr>
  58. <tr>  
  59. <td width="86%">&nbsp;  
  60. <input type="submit" name="Submit" value="Enregistrer">
  61. <input type="button" name="Cancel" value="Annuler" onClick="javascript&#058; history.back(1)">
  62. </td>
  63. </tr>
  64. <tr>  
  65. </tr>
  66. </table>
  67. </form>
  68. <?php  
  69. }else{
  70. echo "<FONT SIZE=2 COLOR=red>Mauvais Password</FONT>";
  71. }
  72. }
  73. if ($action=="temp3" ) {
  74. $cont=$HTTP_POST_VARS['cont'];
  75. $cont=stripslashes($cont);
  76. $fp = fopen("news.txt", "w" );
  77. fputs($fp, $cont);
  78. fputs($fp, "\n" );
  79. fclose($fp);
  80. php?>
  81. <body bgcolor="#ccccc">
  82. <BR>News "OK"<BR>
  83. <?php  
  84. }
  85. ?>
  86. </body></html>

 
 
j'ai donc dans mon site :  
www.site.com/index.php  
www.site.com/head.php  
www.site.com/foot.php  
www.site.com/ticker.php  
www.site.com/news.txt (avec 777 comme droit pour l'écriture)  
 
Dans le fichier news.txt, j'ai du textes avec des balises HTML (<b><br><hr>....)
 
Pour l'instant tout fonctionne bien, quand je lance index.php sauf que....  
 
J'ai d'autres pages dans différents dossiers :  
www.site.com/moto/moto.php  
 
et dans moto.php, je point sur PHP:  

Code :
  1. <?php include '../head.php'; ?>

 
 
Mais là, ca ne fonctionne pas !!  
j'ai un message du genre :  
Warning : file (news.txt) : failled to open stream : No such file directory in .....  
 
Je ne sais plus quoi faire  
Merci de m'aider


Message édité par twinsen60 le 15-05-2007 à 12:23:53
mood
Publicité
Posté le 15-05-2007 à 12:12:07  profilanswer
 

n°1560606
skeye
Posté le 15-05-2007 à 12:18:05  profilanswer
 

[:hahaguy] tu t'attends vraiment à ce qu'on lise tout ton paté, là? Tu pourrais pas au moins mettre le code entre balises [cpp][/cpp] ?


Message édité par skeye le 15-05-2007 à 12:18:14

---------------
Can't buy what I want because it's free -
n°1560610
zecrazytux
Posté le 15-05-2007 à 12:20:54  profilanswer
 

code pourri


---------------
Blog photo/récits activités en montagne http://planetcaravan.net
n°1560615
twinsen60
Posté le 15-05-2007 à 12:24:38  profilanswer
 

J'ai simplifié mon message.
j'ai juste laisser le code de Ticker.php au cas où.

n°1560616
zecrazytux
Posté le 15-05-2007 à 12:25:07  profilanswer
 

code toujours aussi pourri :o


---------------
Blog photo/récits activités en montagne http://planetcaravan.net
n°1560618
zecrazytux
Posté le 15-05-2007 à 12:26:47  profilanswer
 

et normal, ton fichier txt est dans le dossier parent


---------------
Blog photo/récits activités en montagne http://planetcaravan.net
n°1560620
twinsen60
Posté le 15-05-2007 à 12:29:01  profilanswer
 

Je dois bien le laisser là, pour pouvoir le modifié en ligne, avec la fonction  
 
www.site.com/ticker.php?action=admin
 
A moins de pouvoir trouver un systeme qui a partir de là, enregistre le fichier news.txt dans une liste de dossiers

n°1560622
omega2
Posté le 15-05-2007 à 12:30:23  profilanswer
 

En php, si tu ne redéfinis pas le répertoire courant alors le répertoire courant est celui du script appellé par le navigateur et ce même pour le code des fichiers inclus.
 
head.php cherche un fichier dans le répertoire courant. Quand t'appelles "www.site.com/moto/moto.php", le répertoire courant est le dossier "www.site.com/moto/". Normal qu'il ne trouve pas le fichier en question.

n°1560623
twinsen60
Posté le 15-05-2007 à 12:31:15  profilanswer
 

donc, comment faire ?

n°1560626
omega2
Posté le 15-05-2007 à 12:35:24  profilanswer
 

Donc faut :
- soit que tous tes fichiers soient dans le même répertoire, (ce qui devient vite bordélique)
- soit que tu changes le répertoire courant (désolé je me rappelle plus de l'instrution qui le permet)  
- soit tu te démerdes pour les fichiers php regardent le répertoire courant et calculent les chemins relatifs qui leur permettent de récupérer les fichiers qu'ils cherchent (solution la plus crade)


Message édité par omega2 le 15-05-2007 à 12:37:07
mood
Publicité
Posté le 15-05-2007 à 12:35:24  profilanswer
 

n°1560674
twinsen60
Posté le 15-05-2007 à 14:54:07  profilanswer
 

Mon, problème ne viendrai pas de ticker.php (ligne 24 à 28):
 

Code :
  1. <MARQUEE onmouseover=this.stop() onmouseout=this.start()  scrollAmount=2 direction=up width="100%" height=120><?php $fp = file("news.txt" ); for($i = 0; $i <sizeof($fp);$i++){ echo $fp[$i]."<BR>"; } ?></MARQUEE>

 
 
a l'endroit de news.txt....

n°1560905
twinsen60
Posté le 16-05-2007 à 08:19:35  profilanswer
 

Celà marcherai avec au ligne 25-42-43-76 de ticker.php :
 
au niveau de news.txt
 
Ligne 25:
<?php $fp = file($_SERVER["DOCUMENT_ROOT"] . "/news.txt" );
 
Ligne 42 et 43:
$fd = fopen ($_SERVER["DOCUMENT_ROOT"] . "/news.txt", "r" );
$stuff = fread ($fd, filesize ($_SERVER["DOCUMENT_ROOT"] . "/news.txt" ));  

 
Ligne 76:
$fp = fopen($_SERVER["DOCUMENT_ROOT"] . "/news.txt", "w" );
 
J'ai pas tester, car je suis au travail, et je n'ais pas de serveur FTP


Message édité par twinsen60 le 16-05-2007 à 08:20:44
n°1561866
twinsen60
Posté le 18-05-2007 à 07:52:37  profilanswer
 

Bonjour
 
Mon message d'avant avec ($_SERVER["DOCUMENT_ROOT"] . "/news"... fonctionne très bien.
Aucun problème dans toutes mes pages.
et ma fonction ticker.php?action=admin fonctionne toujours.
 
Merci quand même de votre aide


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

  Pb d'include

 

Sujets relatifs
probléme frame , includeInclude php avec une image?
Cookie + include + getParer la faille d'include avec solution dynamique
Des include dans un calqueCasse tete avec include et sous domaine
Include et sous-dossier conflit...[php] Include dans un include
include() et meta tags[PHP] Fonction include dreamweaver
Plus de sujets relatifs à : Pb d'include


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