pb de liens/ affichage page php

pb de liens/ affichage page php - PHP - Programmation

Marsh Posté le 05-01-2009 à 15:02:48    

Bonjour ,  
 
je vous expose mon pb :  
 
tout d'abord j'ai télécharger wamp , mes 4 fichiers : livredor.php, consultezlo.php, message.php et messages.txt sont dans le même dossiers : www  
 
donc dans mon site lorsque je vais sur ma page livredor.php là sa marche , par contre dès que je clique sur "cliquez ici" ou sur "envoyer"  
 
mes pages s'affiche (le titre balise <h1> livre d'or aussi) mais aucun message de livre d'or ^^ !! J'ai vérifier il s'enregistre bien dans messages .txt pourtant , sa serait donc peut etre un pb de lien ?! mais je ne trouve pas pourquoi !
 
Je vous met mes 3 codes :
 
livredor.php
 

Code :
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
  2. <html>
  3. <head> 
  4. <title> MEDIATORE</title>
  5. <link rel = "stylesheet" type="text/css" href="../styles/livrephp.css"/>
  6. <link rel="shortcut icon" href="../../favicon.png" />
  7. </head>
  8. <body>
  9. <div id="en_tete">
  10. </div>
  11. <div id="menu">
  12. <ul class="nav">
  13.   <li><a  href="../index.html" title="">Accueil</a></li>
  14.   <li><a  href="groupes.html" title="">Artistes/Groupes</a></li>
  15. </ul>
  16.    <ul id = "sousnav">
  17.     <li> <a href="beatles.html" title=""> The Beatles </a></li>
  18.     <li> <a href="jj.html" title=""> Jack Johnson </a></li>
  19.     <li> <a href="kooks.html" title=""> The kooks </a></li>
  20.     <li> <a href="redhot.html" title=""> Red Hot Chilli Peppers </a></li>
  21.    </ul>
  22. <ul class="nav">
  23.   <li><a  href="pubs.html" title="">Musiques de Pubs</a></li>
  24.   <li><a  href="livre.html" title="">Livre d'Or</a></li>
  25. </ul>
  26. </div>
  27. <div id="corps">
  28. <h1>Le Livre d'OR</h1>
  29. <form action="livredor.php" method="post">
  30. <div>
  31. <fieldset> <legend>Votre Nom</legend>
  32. <input type="text" name="pseudo" />
  33. </fieldset>
  34. <fieldset><legend>Postez un message pour le livre d'or</legend>
  35. <textarea cols="66" rows="6" name="message"></textarea>
  36. </fieldset>
  37. <input type="submit" />
  38. <!-- On va créer un lien vers une autre page pour ceux qui veulent consulter le livre d'or sans poster dedans -->
  39. <p>
  40. Pour consulter simplement le livre d'or, <a href="consultezlo.php">cliquez ici</a>
  41. </p>
  42. </div>
  43. </form>
  44. <?php
  45. include("message.php" );
  46. // Puis tu as ton formulaire que tu laisses tel que :
  47. ?>
  48. <br />
  49. <br />
  50. <br />
  51. <br />
  52. <br />
  53. <br />
  54. <br />
  55. <br />
  56. </div>
  57. <div id="pied_de_page">
  58. <p>Pour un meilleur confort, utilisez FF...<br />
  59.     <a href="http://validator.w3.org/check?uri=referer"><img
  60.         src="http://www.w3.org/Icons/valid-xhtml10"
  61.         alt="Valid XHTML 1.0 Strict" height="31" width="88" /></a>
  62.     <a href="http://jigsaw.w3.org/css-validator/">
  63.         <img style="border:0;width:88px;height:31px"
  64.             src="http://jigsaw.w3.org/css-validator/images/vcss"
  65.             alt="CSS Valide !" />
  66.     </a>
  67. </p>
  68. </div>
  69. </body>
  70. </html>


 
 
consultezlo.php
 

Code :
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "xhtml1-strict.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
  4. <head> 
  5. <title> MEDIATORE</title>
  6. <link rel = "stylesheet" type="text/css" href="../styles/livrephp.css"/>
  7. <link rel="shortcut icon" href="../favicon.png" />
  8. </head>
  9. <body>
  10. <div id="en_tete">
  11. </div>
  12. <div id="menu">
  13. <ul class="nav">
  14.   <li><a  href="../index.html" title="">Accueil</a></li>
  15.   <li><a  href="groupes.html" title="">Artistes/Groupes</a></li>
  16. </ul>
  17.    <ul id = "sousnav">
  18.     <li> <a href="beatles.html" title=""> The Beatles </a></li>
  19.     <li> <a href="jj.html" title=""> Jack Johnson </a></li>
  20.     <li> <a href="kooks.html" title=""> The kooks </a></li>
  21.     <li> <a href="redhot.html" title=""> Red Hot Chilli Peppers </a></li>
  22.    </ul>
  23. <ul class="nav">
  24.   <li><a  href="pubs.html" title="">Musiques de Pubs</a></li>
  25.   <li><a  href="livre.html" title="">Livre d'Or</a></li>
  26. </ul>
  27. </div>
  28. <div id="corps">
  29. <h1>Le Livre d'OR</h1>
  30. <br />
  31. <br />
  32. <br />
  33. <?php
  34. $consultez="messages.txt";
  35. readfile($consultez);
  36. ?>
  37. </div>
  38. <div id="pied_de_page">
  39. <p>Pour un meilleur confort, utilisez FF...<br />
  40.     <a href="http://validator.w3.org/check?uri=referer"><img
  41.         src="http://www.w3.org/Icons/valid-xhtml10"
  42.         alt="Valid XHTML 1.0 Strict" height="31" width="88" /></a>
  43.     <a href="http://jigsaw.w3.org/css-validator/">
  44.         <img style="border:0;width:88px;height:31px"
  45.             src="http://jigsaw.w3.org/css-validator/images/vcss"
  46.             alt="CSS Valide !" />
  47.     </a>
  48. </p>
  49. </div>
  50. </body>
  51. </html>


 

et message.php

 
 

Code :
  1. <?php
  2. // Pour contrer les spams automatiques qui polluent le web, on va faire une petite regex
  3. if(preg_match("!http|/|www|\.[A-Za-z]{2,4}!is",@$_POST['message']))
  4. {
  5. echo "<blockquote><h1>Anti-spams</h1>
  6.  <p><em>les URL et les slashs sont interdits. Pensez aussi à mettre un espace après un point.</em></p></blockquote>\n";
  7. exit;
  8. }
  9. // Mettons le (futur) fichier dans une variable.
  10. $commentaires="messages.txt";
  11. // assignons nos 2 variables du formulaire, et on en profite pour les protéger des balises HTML
  12. $pseudo=htmlentities($_POST['pseudo']);
  13. $message=htmlentities($_POST['message']);
  14. //Pensons au retour à la ligne et aux stripslashes pour la variable $message
  15. $message=stripslashes(nl2br($message));
  16. // On met en place quelques conditions pour les cellules (nom et message)
  17. // On vérifie avant tout si le fichier existe : si ce n'est pas le cas, on le crée
  18. if(!is_file($commentaires))
  19. {
  20.         $verif=@fopen($commentaires,"w+" );
  21. }
  22. // On vérifie que le login ou le message ne sont pas vide
  23. elseif (trim($message)=="" || trim($pseudo)=="" )
  24. {
  25.         echo "Vous devez remplir tous les champs ! <a href=\"livredor.html\">Retour sur le livre d'or</a>";
  26.        
  27.         // On sort du script !
  28.         exit;
  29. }
  30. // Après ces quelques vérifications d'usage, on passe à l'exécution de ce formulaire
  31.        
  32.         // Si ok, on ouvre en écriture-enregistrement du fichier message.txt
  33.         $verif=@fopen($commentaires,"r+" );
  34.                
  35.         // On analyse les anciennes données et on les stocke
  36.         $stock=@fread($verif,filesize($commentaires));
  37.        
  38.         // On met la date dans une variable
  39.         $date=date ("d/m/Y  H:i" );
  40.        
  41.         // On paramètre le tout dans la variable $opinion
  42.         $opinion="<b>".$pseudo."</b> a &eacute;crit le : ".$date."<br />\n".$message."<br />\n<hr />";
  43.        
  44.         //On remet le curseur du fichier en début de ligne
  45.         rewind($verif);
  46.        
  47.         //On insère le nouveau commentaire
  48.         fputs($verif,$opinion." \n".$stock);
  49.        
  50.         //On clôt le fichier
  51.         fclose($verif);
  52.        
  53.         // On affiche le tout
  54.         readfile($commentaires);
  55. ?>


 
Merci de votre aide , j'en ai besoin rapident

Reply

Marsh Posté le 05-01-2009 à 15:02:48   

Reply

Marsh Posté le 05-01-2009 à 15:22:41    

vérifie les droits de ton fichier message.txt. et enlève le @ avant les fonctions fopen / fread / fwrite


---------------
What if I were smiling and running into your arms? Would you see then what I see now?  
Reply

Marsh Posté le 05-01-2009 à 18:33:38    

oui les @ caches les erreurs, c'est pas très malin, le mieux c'est quand même de tester la réussite des opérations d'ouverture/écriture/lecture.
 
Ah aussi :
 

Code :
  1. $var = "bla bla " . $autre_var . " blabla";


 
Est moins lisible et n'a aucun intérêt.
Sois tu choisis cette solution, qui consiste à tout passer entre guillemets doubles : (la plus agréable amha) :
 

Code :
  1. $var = "bla bla $autre_var blabla";


 
Soit tu concatènes avec des guillemets simples et çà a au moins l'avantage d'être plus rapide (PHP ne recherche/remplace pas les variables dans les chaînes délimitées par des guillemets simples).
 

Code :
  1. $var = 'bla bla ' . $autre_var . ' blabla';

Reply

Marsh Posté le 05-01-2009 à 18:56:20    

lucas > perso je préfère la seconde solution que tu offres
 
jastang > wamp = windows donc même un fichier en lecture seule peut être lu. Sauf s'il n'a pas les droits NTFS dessus, je ne vois pas comment il n'aurait pas accès au fichier.
 
laure_b > si tu ajoutes X commentaires, ton fichier est bien complété, ou il est écrasé à chaque ajout ?


---------------
NewsletTux - outil de mailing list en PHP MySQL
Reply

Marsh Posté le 05-01-2009 à 19:04:43    

NewsletTux a écrit :

lucas > perso je préfère la seconde solution que tu offres


 
Oui, si tu veux, mais bon on va pas troller là dessus çà ne mène jamais à rien  :o  
 

NewsletTux a écrit :

jastang > wamp = windows donc même un fichier en lecture seule peut être lu. Sauf s'il n'a pas les droits NTFS dessus, je ne vois pas comment il n'aurait pas accès au fichier.


 
A cause du CHMOD

Reply

Marsh Posté le 05-01-2009 à 19:54:23    

NewsletTux
 
Apparement avec WAMP il test en local, mais le problème se pose lorsque qu'il upload ses fichiers (si j'ai bien compris).


---------------
What if I were smiling and running into your arms? Would you see then what I see now?  
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed