Aller au menu - Aller au contenu

[Plan du site] Vous êtes ici --- > Le Site du Zér0 > Les tutoriels > Non-Officiels > Site Web > PHP > Systèmes complets > Lecture des commentaires

Vos commentaires sur :
Un "livre d'or" sans base de données - Les fichiers en PHP

Retour au tutoriel

Vous devez être inscrit pour pouvoir poster des messages

Page : 1  2  3  4 
Pseudo Commentaire
Page : 1  2  3  4 
En ligne Ze Killer-Whale # Posté le 16/12/2005 18:54:25
Bisounours Powaa!!
Avatar
Groupe : Membres
Bonne idée, à ceci près que comme le cookie est créé dès que t'arrive sur la page et pas seulement si un message est envoyé, quand on poste un message vide on se retrouve avec le message d'erreur et quand on veut reposter un message (plein cette fois ^^ ) on tombe sur une erreur nous disant qu'on a déjà commenté...Ce qui est bien sur faux... :-°

Je suis né la 593299834e seconde de l'ère Unix, si c'est pas épatant?
 
Hors ligne david96 # Posté le 16/12/2005 20:56:13
Avatar
Groupe : Membres
Exact, je m'en suis rendu compte assez rapidement, c'est pour ça que j'ai re-soumis ce tutorial. Vivement qu'il soit revalidé : D

En fait, j'ai simplement rajouté un lien dans le formulaire qui nous renvoie dans une autre page PHP pour ceux qui ne veulent pas poster mais simplement lire les commentaires.
Le code est plutôt simple, la page invoqué s'appelle : consultezlo.php
Voilà le script tout bête que j'ai soumis.
Code : PHP
<?
$consultez="messages.txt";
readfile($consultez);
?>


Rhaaa ! On a beau testé, on oublie toujours un truc o_O
 
Hors ligne le grand schtroumpf # Posté le 16/12/2005 21:02:50
Si vis pacem, para bellum!
Avatar
Groupe : Membres
mince j'ai posté le premier avec une erreur!!!


Cutlass fury(furie du sabre) de Vyse
Image utilisateur
Cliquez pour agrandir
 
Hors ligne le grand schtroumpf # Posté le 16/12/2005 21:03:11
Si vis pacem, para bellum!
Avatar
Groupe : Membres
ouais, il a raison en disant:
Citation : Ze Killer-Whale
Bonne idée!!

ça nous évite le mysql_connect() et toutes les requêtes sql :) .
pratique.
MAIS :-° l'initialisation de $date est fausse(pas très grave, mais quand même):
dans les arguments de la fonction date() font référence à un "à" avec accent: php ne les supporte pas bien: il faut remplacer "à" par "&agrave;"(je crois).
sinon merci d'avoir donné des idées au autres zéros(comme moi ^^ ).


Cutlass fury(furie du sabre) de Vyse
Image utilisateur
Cliquez pour agrandir
 
Hors ligne david96 # Posté le 16/12/2005 21:11:46
Avatar
Groupe : Membres
Merci :) , pour le "à" c'est possible maintenant ;)

Sinon pour en revenir au script :
Question cookie invoqué d’entrer de jeux (pas le choix), c'est vrai que pour ceux qui ont omis de laisser un message ou un pseudo, c'est grillé puisqu'il prend l'ip du client !

L'astuce serait de prendre une autre valeur que l'ip, le pseudo par exemple... Mais à ce moment là, faudra s'attendre à ce que la même personne poste plusieurs messages en changeant simplement de pseudo ;)

Bon tu me diras "Et pour ceux qui désactive les cookies ?"

Bâ ouai aussi :p !
Alors à la place de mettre un pseudo, mettre un email valide avec une validation retour de celui-ci par la fonction mail() etc... Bref c'est possible mais un peu plus long à mettre en oeuvre...

J'ai surtout voulu faire un tutorial sur la possibilité que nous offre PHP avec les fichiers, mais c'est vrai qu'on peut aller encore beaucoup plus loin, je suis d'accord !
 
Hors ligne PaNTi # Posté le 16/12/2005 23:54:47
Forza Italia
Avatar
Groupe : Membres
Le scripts c'est ok, mais par contre la méthode j'aime pas tu devrais plutôt expliquer petit à petit le code puis ensuite le redonner en entier et pas l'inverse
 
Hors ligne david96 # Posté le 17/12/2005 01:02:40
Avatar
Groupe : Membres
C'est mon 3ème tuto, ta méthode je l'ai fait pour les deux premiers, j'ai voulu changer de style :D
 
Hors ligne sparklegamer # Posté le 05/01/2006 22:21:49
Daniel Jackson - Nena on TF2
Avatar
Groupe : Membres
David 96 je t'aime :p (c'est une blague :lol: )

super tuto, je suis vraiment débutant en PHP et j'ai réussi à faire marcher ton script, mon premier script PHP :lol: :soleil:

Citation : Imagine
Imagine life you can't win
When you get out of the ghetto and go right to the pen
When you get out to the pen you go right to the jenz
When you put back to the streets you get right back in
 
Hors ligne david96 # Posté le 06/01/2006 14:32:53
Avatar
Groupe : Membres
:D Merci de ton merci :honte:
 
Hors ligne Xilodique # Posté le 18/01/2006 18:12:09
Tu Comprend?
Avatar
Groupe : Membres
Super code phph merci sa va beaucoup m'aider :)

Fan de Manga? ===> Xilodique :: <3 Mangas!
Blog Perso ===> Xilodique Blog :: <3


 
Hors ligne Sword # Posté le 09/02/2006 18:29:13
Avatar
Groupe : Bannis
En effet il est bien mais j'ai un problème!
Quand je veux poster un meassage dans le livre d'or, ya tout le script de message.php qui apparait!
Help!
 
Hors ligne david96 # Posté le 09/02/2006 18:36:50
Avatar
Groupe : Membres
Tu as bien départagé les <html> du <?php ?

Peux tu me montrer ce que tu as fait [copié/collé] que j'annalise l'error ! :D
 
Hors ligne Mallo # Posté le 12/03/2006 21:31:18
Requiescat In Pace
Groupe : Membres
Super bravo !
Voilà ce que ca me donne :
http://adherents.free.fr/?page=livredor
J'ai mis "consultezlo.php" directement dans "livredor.php" ;)
Par contre je voudrai savoir comment faire pour que lorsque qu'il envoie le message, il retombe directement sur "livredor.php" avec le nouveau message ajouté ?

Mallo Blog
Cliquez =D
 
Hors ligne david96 # Posté le 12/03/2006 22:48:01
Avatar
Groupe : Membres
tout se passe dans la balise <form> et notamment à son attribut action le nom de la page où sera intéprété le script.

Exemple :
Code : HTML
<form method="post" action="livredor.php">
<-- Le formulaire -->
</form>


La page livredor.php
Code : PHP
<?php
// Le script
?>
 
Hors ligne Mallo # Posté le 13/03/2006 17:54:20
Requiescat In Pace
Groupe : Membres
Ok, donc il faut que je mette en plus le code de message.php dans livredor.php ? :)

Merci pour ton aide précieuse ! Je vais même t'ajouter dans les remerciements ! :p

Mallo Blog
Cliquez =D
 
Hors ligne david96 # Posté le 13/03/2006 18:24:31
Avatar
Groupe : Membres
Merci...

Oui rien ne t'empêche de tout mettre sur une page...

d'ailleurs dans la balise <form>, si c'est la même page qui est invoqué je te conseille de mettre Code : PHP
<?php $_SERVER['PHP_SELF'] ?>
pour l'attribut action ;-)

Normalement tu ne devrais pas trop avoir de soucie à mettre en place tout ça... :D
 
Hors ligne Xilodique # Posté le 01/04/2006 14:58:35
Tu Comprend?
Avatar
Groupe : Membres
Je trouve super ton tuto mais j'ai eu un petit probleme :s

Qu'and j'envoie le message depuis livredor.html a messages.php

il me met le message sa je me plain pas ^^ mais il me met aussi warning ce texte ci :

Warning: Cannot modify header information - headers already sent by (output started at c:\documents and settings\XXX\mes documents\XXXX\XXXX\message.php:11) in c:\documents and settings\XXXX\mes documents\XXXX\XXXX\message.php on line 238

ps : je tes mis 17 :)

Fan de Manga? ===> Xilodique :: <3 Mangas!
Blog Perso ===> Xilodique Blog :: <3


 
Hors ligne Benji # Posté le 18/04/2006 18:44:25
beer to beer :-°
Avatar
Groupe : Membres
Salut, ben alors moi mes pages sont en UTF-8 alors quand je met des caractères de ce style : &é"'"'(-è__çà)=$^*ù!:;,n,

ça m'en fait d'autres (en utf-8) je n'arrive pas à résoudre ce problème à-tu la solution ... :(

Sinon c'est un bon tuto 17 :) .

Image utilisateur :p
 
Hors ligne david96 # Posté le 14/06/2006 23:51:02
Avatar
Groupe : Membres
Houllà désolé pour le retard, vos soucies ont été réparés ou bien... o_O
 
Hors ligne Victoria # Posté le 29/07/2006 04:01:35
Groupe : Membres
Bonjour !

Voilà je trouve ton script très intéressant d'autant plus que j'ai vraiment du mal avec tous les trucs PHP... mais voilà, quand je crée mes pages tout va bien et quand je veux poster il me que j'ai déjà poster alors que c'est faux... mh... la première fois il m'a mis un truc du style "warning" avec tout un tas de numéros et tout.. j'ai changé les autorisations d'écriture et c'est là qu'il m'a mis que j'avais déjà poster.
Après j'ai essayer d'aller voir mon sois disant poste mais quand je clic sur "clique ici" je tombe sur ça : "Warning: readfile(messages.txt): failed to open stream: No such file or directory in /home/www/9da2032d98127f05254c8e68e5be8b05/web/victoria/consultezlo.php on line 3"
Alors quel est le problème doc' ? Et heu.. merci d'être gentil parce que d'abord j'suis une fille na ! Bon... ok ça excuse rien mais quand même !
Au fait, je risque pas d'avoir fait une erreur dans le script puisque j'ai fait du copier collé :D
Hors ligne srayo # Posté le 04/08/2006 11:05:49
J' ai soif d' apprendre
Avatar
Groupe : Membres
Bonjour, j' ai éssayer plusieur fois de tout mettre sur la meme page mais je n' y arrive pas et soit cela ne m' affiche rien soit ça m' affiche tout le code de message.php .

Je sais plus comment faire help please :euh: .
Hors ligne david96 # Posté le 04/08/2006 13:42:54
Avatar
Groupe : Membres
@victoria, tu as bien spécifié le chemin ? Verifie aussi le CHMOD du fichier message.txt
@srayo, as tu scrupuleusement suivi le tuto, faudrait qu'on puisse voir ce que tu as fait pour t'aider !
 
Hors ligne srayo # Posté le 04/08/2006 18:36:52
J' ai soif d' apprendre
Avatar
Groupe : Membres
J' ai suivi exactement le tuto a la lettre comme ecrit ^^ . Mais j' ai mis :

Code : HTML
<html>
<head>
<title>Livre d' or</title>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
</head>
<body>

<h1>livre d' or:</h1>

<!-- On commence le formulaire, pour le resultat on invoquera la page "message.php" gâce à l'attribut action de la balise form -->
<form action="Tests PHP/message.php" method="post">
<div>
<fieldset> <legend>Votre Nom</legend>
<input type="text" name="pseudo" />
</fieldset>
<fieldset><legend>Postez un commentaire</legend>
<textarea cols="66" rows="6" name="message"></textarea>
</fieldset>
<input type="submit" />
<p>
Vous pouvez voir les commentaires <a href ="Tests PHP/consultezcom.php">ICI</a> <br />
</p>
</div>
</form>
<div>
<p>
<?php
// Pour éviter qu'une unique personne poste 50 fois dans le livre d'or, on va insérer un cookie
setcookie("ip",$_SERVER['REMOTE_ADDR'],time()+.3600*60*90);

// Si le cookie est égale à l'ip du client alors on le stop
if(isset($_COOKIE['
ip']) && $_COOKIE['ip']==$_SERVER['REMOTE_ADDR'])
{
        echo "<h1>
Vous ne pouvez émettre qu'un seul avis et vous l'avez déjà donné !</h1>";

        // On stop le script
        exit;
}
// Mettons le (futur) fichier dans une variable.
$commentaires="messages.txt";

// assignons nos 2 variables du formulaire et on en profite pour les protégers des balises HTML
$pseudo=htmlentities($_POST['pseudo']);
$message=htmlentities($_POST['message']);

//Pensons au retour à la ligne et au stripslashes pour la variable $message
$message=stripslashes(nl2br($message));

// On met en place quelques conditions pour les cellules (nom et message)
// On vérifie avant tout si le fichier existe si ce n'est pas le cas on le crée
if(!is_file($commentaires))
{
        $verif=@fopen($commentaires,"w+");
}

// On vérifie que le login ou le message ne soient pas vide
elseif (trim($message)=="" || trim($pseudo)=="")
{
        echo "Vous devez remplir tous les champs ! <a href=\"Tests PHP/consultezcom.php\">Retour aux commentaires</a>";
       
        // On sort du script !
        exit;
}

// Après ces quelques vérification d'usage on passe  à l'exécution de ce formulaire

       
        // Si ok on ouvre en écirture-enregistrement du fichier message.txt
        $verif=@fopen($commentaires,"r+");
               
        // On analyse les anciennes données et on les stocks
        $stock=@fread($verif,filesize($commentaires));
       
        // On met la date dans une varialbe
        $date=date ("d/m/Y à H:i");
       
        // On paramère le tout dans la variable $opinion
        $opinion="<b>".$pseudo."</b> a écrit le : ".$date."<br />\n".$message."<br />\n<hr />";
       
        //On remet le curseur du fichier en début de ligne
        rewind($verif);
       
        //On insère le nouveau commentaire
        fputs($verif,$opinion." \n".$stock);
       
        //On clore le fichier
        fclose($verif);
       
        // On affiche le tout
        readfile($commentaires);


?>
</p>
</div>
<!-- Notre formulaire est fini on ferme la balise form -->

</body>
</html>
Hors ligne david96 # Posté le 06/08/2006 01:00:01
Avatar
Groupe : Membres
Si tu as tous mis sur une même page, pense à mettre la fonction setcookie() tout en haut de ton scritp Avant la partie <html> ;-)
 
Hors ligne srayo # Posté le 07/08/2006 12:58:28
J' ai soif d' apprendre
Avatar
Groupe : Membres
En la mettant avant tout code html, meme avant tout le script sa ne marche toujours pas j' ai toujours la meme erreur mon scipt s' affiche.
Hors ligne david96 # Posté le 07/08/2006 13:09:47
Avatar
Groupe : Membres
Heu j'ai comme un doute, tu as bien nommé ta page avec l'extension .php ?
 
Hors ligne srayo # Posté le 07/08/2006 21:41:08
J' ai soif d' apprendre
Avatar
Groupe : Membres
Oui la page est .php
Hors ligne david96 # Posté le 07/08/2006 23:53:32
Avatar
Groupe : Membres
Il n'est alors pas normale que le code PHP soit visible dans la source !!
Encore plus dingue, mais j'ose, tu as bien le php d'activé chez ton hébergeur ? :D
 
Hors ligne srayo # Posté le 08/08/2006 12:00:33
J' ai soif d' apprendre
Avatar
Groupe : Membres
Oui, php est activé chez l' hebergeur.

Pour information je suis chez ifrance. :D
Hors ligne kikong # Posté le 26/01/2007 19:37:22
Avatar
Groupe : Membres
J'ai pas de problème sans aucune mise en forme du livre c'est à dire dans une page vierge. Mais dès que je l'insère dans une page (en php avec le même nom) qui a un style et une feuille de style, plusieurs erreurs arrivent sur la page message.php (qui a aussi un style CSS) :

voici un erreur :

Citation : Message erreur
Warning: Cannot modify header information - headers already sent by (output started at /mnt/113/sdc/c/1/assoadah/livredor.php:7) in /mnt/113/sdc/c/1/assoadah/livredor.php on line 73

Ce que les yeux voient, n'est rien comparé à ce que le coeur peut éprouver
 

Vous devez être inscrit pour pouvoir poster des messages

Retour au tutoriel

Changer de design | En savoir plus | Plan du site | Politique d'accessibilité | Règles | Fil RSS | XHTML 1.0 | CSS 2.0
Édité par Simple IT SARL : Nous contacter | Revue de presse | Publicité

Y'a plus rien à lire, faut remonter maintenant !

Hébergement web - Correction de tutoriels - Créer un site
Vous souhaitez apparaître ici ? Contactez-nous.

Nombre de connectés 391 Zéros connectés | Requêtes SQL 8 requêtes | Temps de génération de la page : Total (SQL) 0.0953s (0.0798s)