Notice: Undefined index: position in /home/piregwan/public_html/forum2/reponses2.php on line 50
Piregwan 2000



  28 07 2002 à 21:22


plop all

je commence à rentrer dans le sérieux en php, avec mon premier vrai script complet, à savoir un forum ^^ j'ai bien médité sur mes tables, l'optimisation à terme etc ; mon problème ne vient pas du code lui même, mais d'une partie à réaliser.

je voudrais, pour chaque membre, pouvoir lui indiquer cb de nouveaux topics ont été postés dans chque sujet depuis sa dernière visite.

j'ai pas mal d'options ...
utiliser une table spéciale, potentiellement grande car nbreuser x nbretopics
utiliser les cookies, mais potentiellement lourd (..) car tel que je connais les cookies (faible niveau ..), ça donnerai un cookie par topic
...

mon idée est d'enregistrer (quelque part, et comment, là est ma question en réalité), la date du dernier message posté dans un topic lorsque l'utilisateur a LU le topic (cad chargé dans son chtit navigateur), puis, lorsqu'il revient, comparer cette date (lastmsg_topic# par exemple) avec les date de tous les message du topic en question ;
si lastmsg_topic# < date_msg alors tout les messages après le supérieur, y compris lui-même bien sur, sont des "nouveaux messages" (pour le visiteur lambda en tout cas).

donc ..
1. des pistes à me donner pour réaliser ceci ?
2. comment (piregwan/autre) vous y prenez-vous personnelement pour faire ceci ?

Meanos (mickey fanatique - )
39 ans ([MéAnôCe])
meanos@nihon-fr.com | 113974855
http://www.nihon-fr.com

soon .. Oxygenart .. soon





  28 07 2002 à 21:28


Perso je m'y prend un peu comme piregwan, je n'utilise qu'un seul cookie pour tout le site - étant donné que les cookies sont limité à 20 par domaine - dans le quel je stocke selon un schéma qqonque les infos dont j'ai besoin : id du sujet et nombre de réponses à la dernière visite.

Ensuite je décode le cookie à chaque visite pour afficher le nombre de nouvelles réponses à l'aide de tableaux.

defraagh (membre fanatique - )
38 ans (Strasbourg)
defraagh@graphistory.com | 124369304
http://gwash.straterole.net [down]

*! j' la torture [mais sur les autres] !*
membre de l'association pour la revalorisation de la torture [ART]





  28 07 2002 à 21:31


tu saurais me donner un court exemple bidon de la chose stp ?

Meanos (mickey fanatique - )
39 ans ([MéAnôCe])
meanos@nihon-fr.com | 113974855
http://www.nihon-fr.com

soon .. Oxygenart .. soon





  28 07 2002 à 21:50



defraagh (membre fanatique - )
38 ans (Strasbourg)
defraagh@graphistory.com | 124369304
http://gwash.straterole.net [down]

*! j' la torture [mais sur les autres] !*
membre de l'association pour la revalorisation de la torture [ART]





  28 07 2002 à 21:50


Script dans le script vault, posté par notre amis Defraagh il y a 2 minutes.

Merci Defraagh, j'avais besoin de ça

Per (squatteur de topic - )
39 ans (Plage de Pors-Carn)
per2censured@aol.com
http://www.ebodyboard.online.fr

L'alcool est mon pire ennemi.
Fuir l'ennemi est lâche.





  28 07 2002 à 21:53


rapidité, efficacité, productivité .. presque du Jean-Luc Delarue ^_^ (cf. Les Guignols, au bon vieux temps de C+ ^^)
merci beaucoup !

Meanos (mickey fanatique - )
39 ans ([MéAnôCe])
meanos@nihon-fr.com | 113974855
http://www.nihon-fr.com

soon .. Oxygenart .. soon





  28 07 2002 à 22:07



Oui, bon, bien les cookies mais bientot tu devra utiliser un base de donné MySQL (c'est mieux). Et la attention, ca risque d'etre la galère.

sergi (mickey - )
57 ans (Nantes)
serge@sevenly.com
http://www.mylene-art.com

" Les anges sont las de nous veiller "...
http://www.mylene-art.com





  28 07 2002 à 22:15


bientot tu devra utiliser un base de donné MySQL (c'est mieux).
euh ? je ne suis pas sûr que dans ce cas une base de données soit "mieux" qu'un cookie : le bdd atteindrai vite une taille folle et comment détecter quel est le visteur ?

enfin si c'est une solution alternative et que c'est mieux, ça m'intéresse.

[edit : on pourrait gérer un mini-forum qu'avec des cookies ? ok, je fais une pause c'est l'heure de mon casse-dalle de minuit ]

defraagh (membre fanatique - )
38 ans (Strasbourg)
defraagh@graphistory.com | 124369304
http://gwash.straterole.net [down]

*! j' la torture [mais sur les autres] !*
membre de l'association pour la revalorisation de la torture [ART]





  28 07 2002 à 22:30


(note : ça me tue à chaque fois, de voir "15" sous ton pseudo ... respect ^^)
*attends l'idée suivante :p*

Meanos (mickey fanatique - )
39 ans ([MéAnôCe])
meanos@nihon-fr.com | 113974855
http://www.nihon-fr.com

soon .. Oxygenart .. soon





  29 07 2002 à 06:50


Moi le "15" ça me fait penser qu'il peut mieux faire ^^ :p

Prêt pour un nouveau test mon petit rat de labo ??

angel2k (exilé fanatique - )
42 ans (Amiens)
angel2k@piregwan.com | 110643996

cet espace est à vendre ! mise à prix à 518€





  29 07 2002 à 07:29


aïe aïe aïe non ! pas le tuyau pour la connection de directe de mon cervelet sur la bdd !

defraagh (membre fanatique - )
38 ans (Strasbourg)
defraagh@graphistory.com | 124369304
http://gwash.straterole.net [down]

*! j' la torture [mais sur les autres] !*
membre de l'association pour la revalorisation de la torture [ART]





  29 07 2002 à 16:39


avec du php en utilisant un cookie :

<?
    function ReadCookie($valCookie,$idMsg,$nb_replies)
    {
        # lit le cookie visiteur pour chaque message.
        # valeurs retournées :
        # - 'no' => aucun nouveau msg depuis la dernière visite
        # - un nombre => nombre de nouveaux msg depuis la dernière visite
        # - 'new' => ce message n'a pas encore été vu par le visiteur
        $recherche_dans_cookie="id".$idMsg."A";
        if(eregi($recherche_dans_cookie, $valCookie)) // $recherche_dans_cookie a été trouvé dans $valCookie
        {
        eregi( "id".$idMsg."A(.*)Z",$valCookie,$lastRep);
        $newRep = $nb_replies-$lastRep[1];
            if ($newRep <=0) { print (" <img src=../interface/spacer.gif width=10> <br> "); }
            else
            {
                print ("$newRep ");
                if ($newRep> 1) print ("nouvelles réponses <br> <img src=../interface/spacer.gif width=10> <br> ");
                else print ("nouvelle réponse <br> <img src=../interface/spacer.gif width=10> <br> ");
            }
        }
        else { print ("nouveau sujet <br> <img src=../interface/spacer.gif width=10> <br> "); }
    }
?>


et

<?
    // DEBUGGER INITIALISE
    // error_reporting(E_ALL);

    // DEFINITION DES FONCTIONS DE MISE A JOUR DES COOKIES NEWS SUR LE FORUM
    function CreateCookie($nomCookie,$idMsg,$nbreReponses)
    {
        # crée ou modifie le cookie sur l'ordinateur du visiteur
        # on rentre dedans l'id du message, et le nombre de réponses qu'il y avait à la dernière visite
        # retourne 0 ou 1
        # ATTENTION : doit être lancée avant tt envoi de HTML !
        global $$nomCookie;
        if(eregi("id".$idMsg."A", $$nomCookie))
        {
        $new_cookie=eregi_replace("id".$idMsg."A([0-9]*)Z" ,"id".$idMsg."A".$nbreReponses."Z",$$nomCookie);
        }
        else { $new_cookie = $$nomCookie."id".$idMsg."A".$nbreReponses."Z"; }
        return SetCookie($nomCookie,$new_cookie,time()+3600*24*36 5,"/","",0);
    }
?>


++

piregwan (agent mad fanatique lvl 1 - )
48 ans (chamb�ry, 73)
krakoukas@piregwan-genesis.com | 91327470
http://www.piregwan-genesis.com

" s'il vous plait mademoiselle, j'aurais voulu prendre une leçon particulière avec anne laurencin " JCD





  29 07 2002 à 16:45


merci msieur ^_^ mille fois merci , c'est purement logique tout ça, je vais appliquer maintenant.

Meanos (mickey fanatique - )
39 ans ([MéAnôCe])
meanos@nihon-fr.com | 113974855
http://www.nihon-fr.com

soon .. Oxygenart .. soon


Pour répondre à ce sujet (et notifier automatiquement son auteur), cliquez sur le bouton REPONDRE A CE SUJET. Si vous voulez en plus avertir de votre réponse une personne qui a participé à ce sujet, cliquez sur le bouton en face de son intervention. Enfin si vous voulez inviter quelqu'un à réagir, utilisez les appeaux ci-dessous. Seuls les membres logués peuvent utiliser les appeaux et seuls les membres actifs peuvent être appeautés ^^. Bonne notification !

Vous n'êtes pas membre ou vous n'êtes pas logué(e) ou les appeaux sont désactivés dans votre profil. Vous ne pouvez pas utiliser les appeaux.