compteur de message

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : compteur de message

par Cyrano » 13 août 2007, 16:20

Et le fichier .jem, je l'ouvre avec quoi ??
C'est un fichier texte, ça s'ouvre avec n'importe quel bloc-note. J'ai mis une extension exotique, ça limite un peu les risques de dégâts, et aussi (à l'époque) par curiosité. En fait, l'extension n'a qu'une importance relative, c'est le format qui importe et en l'occurrence, c'est un format texte tout ce qu'il y a de plus ordinaire.

par d0m » 13 août 2007, 13:44

dans un premier temps il va falloir lire ton fichier et récupérer la dernière valeur du compteur.
Ensuite tu incrémentes cette valeur de 1 et tu la places comme compteur dans le nouveau commentaires.
$compteur = $dernier_compteur($stock);
$compteur ++;
en gros c'est rien de plus que ça, maintenant à toi de trouver un modèle pour ton fichier texte pour que la valeur du dernier compteur soit facile à récupérer.

Ce n'est pas une histoire de code, c'est une histoire de modèle. C'est pas en plaçant ton morceau de code à différents endroits que tu vas résoudre ton problème.

par NiReaS » 13 août 2007, 13:35

J'aimerais lire le numéro du dernier commentaire, parce que c'est pas la position final de $compteur.
J'aimerais le mettre dans un lien comme un blog (ex: '3 commentaires')
Et j'aimerais aussi l'utilisé pour compter le nombre de commentaire !!! j'aimerais utilisé ce script pour des commentaires et pour un livre d'or.
Mais je ne pense pas que cela change mon code juste l'emplacement de $compteur, non ?? :roll:

par d0m » 13 août 2007, 13:21

Béh justement je ne sais pas trop j'ai essayer de mettre ça en le reprenant d'un script mais il m'affiche tout le temps le chiffre '2'
$compteur = 1; $compteur <= $message; $compteur++;
:-*
La première chose à faire en reprenant un script c'est essayer de le comprendre.

ce petit morceau de code est fait pour aller dans une boucle for.

en le mettant comme tu l'as fait dans ton code ça veut dire ça :
1. tu initialises ton compteur à 1
2. tu compares ton compteur à la variable $message
3. tu incréments ton compteur, il vaut alors 1+1=2.

Et là normale que ton compteur vaut toujours 2...

Avant d'écrire du code, essaie de formaliser avec des idées ce que tu veux faire :
- compter le nombre de commentaires?
- stocker avec le commentaire son numéro?
- lire le numéro du dernier commentaire?
- donner au nouveau commentaire le prochain numéro?

par led » 13 août 2007, 13:20

Tu veux faire quoi exactement?
Compter le nombre de messages dans le fichier? Assigner un id a chaque message?
Le problème est qu'avec readfile tu affiche le tout alors si tu veux mettre un numéro a chaque commentaire, il faut que tu le fasse au moment où tu insere opinion dans ton fichier.

Une 1ere solution:
a la pace de ton readfile tu mets:
tant que tu n'est pas a la fin du fichier
tu lis un ligne(tu la récuperes)
tu l'affiches avec la valeur du compteur
tu incrementes ta variable compteur
fin de tant que

Sinon si tu souhaite garder ton readfile:
avant ton fputs
d'apres ton insertion( en tete dans ton fichier), tu te positionnes a la 1ere ligne, tu récuperes l'id du message, tu l'incremente et tu fais

Code : Tout sélectionner

$opinion="idincrementé-<b>".$pseudo."</b> a écrit le : ".$date."<br />\n Message: ".$compteur." <br />\n".$message."<br />\n<hr />";
le reste est identique....


voila je pense que ca doit etre l'une ou l'autre methode que tu recherches.

A plus

par NiReaS » 13 août 2007, 12:43

Lequel le mien :?: Si oui le voici
<?php
// les variables
$pseudo=htmlentities($_POST['pseudo']);
$message=htmlentities($_POST['message']);
$compteur = 1; $compteur <= $message; $compteur++;
$commentaires="comm.txt";

// Pensons au retour à la ligne et au stripslashes pour la variable $message
$message=stripslashes(nl2br($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+");
}
// le login ou le message ne doivent pas vide
elseif (trim($message)=="" || trim($pseudo)=="")
{
        echo "Vous devez remplir tous les champs ! <a href=\"ajout_comm.php\">Retour sur le livre d'or</a>";
       
        exit;
}
// Après ces quelques vérification d'usage on passe à l'exécution de ce formulaire

       
        // Si ok on ouvre en écriture-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:s");
       
        // On paramère le tout dans la variable $opinion
        $opinion="<b>".$pseudo."</b> a écrit le : ".$date."<br />\n Message: ".$compteur." <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);

?>

par led » 13 août 2007, 12:40

le code du script stp...

par NiReaS » 13 août 2007, 12:38

Béh justement je ne sais pas trop j'ai essayer de mettre ça en le reprenant d'un script mais il m'affiche tout le temps le chiffre '2'

$compteur = 1; $compteur <= $message; $compteur++;
:-*

par led » 13 août 2007, 12:33

tu peux mettre le code stp qu'on regarde un peu merci

par NiReaS » 13 août 2007, 12:24

C'est fou on trouve rien sur le net pour un compteur de message!!!

par NiReaS » 10 août 2007, 23:57

Mais si on peut l'aider ....

Tiens un bout du code :
$compteur = $compteur+1;
ouai mais comment j'associe sa avec ma variable $message ?? ou une autre variable je ne sais pas :?


Et le fichier .jem, je l'ouvre avec quoi ?? lol jamais entendu parlé de ce type de fichier :(
Il marche comme un fichier .txt ?? :wink:

par Cyrano » 10 août 2007, 14:02

J'aimerais garder mon script enfaite!! j'ai telecharger ce que tu m'a envoyer mais d'apres les codes tu utilises une table MYSQL.
Niet, il est possible que j'aie laissé trainer un fichier accedant à MySQL, mais il n'est pas utilisé, les messages sont stockés dans un fichier nommé "messages.jem" (créé avec le premier message posté) et le fichier de configuration est généré dynamiquement à l'installation du LO et éventuellement modifié depuis l'interface d'administration.

Ceci dit, je ne t'invitais pas forcément à l'utiliser, mais le code pourrait t'inspirer pour ajuster le tien.

par Aureusms » 10 août 2007, 13:42

Mais si on peut l'aider ....

Tiens un bout du code :
$compteur = $compteur+1;

par Genova » 10 août 2007, 13:02

A mon avis créé toi ton propre livre d'or. C'est assez facile à faire, et tu pourras le paramétrer comme tu veux.
Ou bien tu télécharges un script plus complet. Mais on ne peut pas faire le boulot à ta place ;)

par NiReaS » 10 août 2007, 12:26

J'aimerais garder mon script enfaite!! j'ai telecharger ce que tu m'a envoyer mais d'apres les codes tu utlises une table MYSQL.


Sinon le créateur ne veut pas me dire, il m'a dit de chercher sur le site ou j'étais et je fais que sa depuis quelques jours :cry:
Je sais que le compteur c'est une variable dont je rajoute 1 à chaque fois mais bon je n'arrive pas :?