Ankündigung

Einklappen
Keine Ankündigung bisher.

Problem mit Forensystem

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Problem mit Forensystem

    Hallo,

    ich schreibe gerade ein Forensystem. So nun hab ich alles soweit dass ich nur noch das anzeigen lassen muss welche Beiträge seit dem letzen Login neu sind bzw auf welche ich schon geantwortet habe also sprich die bilder:


    etc.....

    so nun kann ich das mit einer tabelle lösen oder mit cookie.....

    allerdings ist das problem bei einer tabelle wenn ein user eben 100 treads angeschaut hat
    100 einträge gibt bei 100 usern wären das schon 10 000 Einträge Oo......
    mit nem cookie hätte ich das problem mit der geschwindigkeit nicht so wird aber kompliziert den langen cookie dann zu bearbeiten ... 100 cookies will ich dann zb nicht erstellen also wie würdet ihr das machen?

    wollte auch mal wissen wie das wbb vbulletin etc löst? hab mir zwar wbb installiert sehen auch ne tabelle die folder heisst aber da wird nix reingeschrieben....

    mfg

  • #2
    Wie vBulletin das macht weiß ich nicht. Wär mal interessant, das herauszufinden.

    Ich würde jetzt ein Array nehmen und darin die Daten speichern. Dieses Array kann man serialisieren und in einem Cookie speichern.
    Alternativ kann man es auch nur in der Session speichern, aber dann stehen die Daten nach Session-Timeout nicht mehr zur Verfügung.
    Refining Linux: “[url=http://www.refining-linux.org/archives/65/Performing-push-backups-Part-1-rdiff-backup/]Performing Push Backups – Part 1: rdiff-backup[/url]”

    Kommentar


    • #3
      hm naja also wenn dann das cookie/tabelle so aufbauen

      name | user(braucht man bei cookie ja nicht) | time

      immer wenn man dan nnen tread ließt wird dieser dann in die db oder cookie mit der aktuelle zeit geschrieben und dann wird eben immer geschaut ob es einen neuen beitrag in dem tread gibt mit der letzten besichtigung, wenn es nen neuen gibt wird dass bild so angezeigt schaut man in den tread wird das in dem cookie die zeit geändert....

      nun ist die frage halt cookie oder tabelle wobei ja cookie eigentlich keinen nachteil vorweist? wenn man den löscht hat man selber schuld und ist wohl auch ausgeloogt

      naja die frage ist ja auch mal wann überhaupt das bild anders ist hm

      edit wbb machts wohl mitn cookie wenn man sich nähmlich aus und wieder einloogt sind die bilderweg

      mfg

      Kommentar


      • #4
        Zitat von Dominik Beitrag anzeigen
        allerdings ist das problem bei einer tabelle wenn ein user eben 100 treads angeschaut hat
        100 einträge gibt bei 100 usern wären das schon 10 000 Einträge Oo......
        warum willst du die tzeit von allen 100 threads speichern? es reicht doch wenn du die zeit speicherst wann der user das letzte mal im unterforum war und alle beiträge seit dem zeitpunkt als neu anzeigst

        Kommentar


        • #5
          Zitat von keinplanvonnix Beitrag anzeigen
          warum willst du die tzeit von allen 100 threads speichern? es reicht doch wenn du die zeit speicherst wann der user das letzte mal im unterforum war und alle beiträge seit dem zeitpunkt als neu anzeigst
          nein, nicht immer schaut ein user alle beitäge sn, vllt hat er nur ein thread angeschaut, dann ist der rest für ihn ebenfalls neu ...
          würde es per mysql machen.. wofür gibt es schnelle dbs? xD ansonsten keine ahnung... user schaut nen thread an, du schaust ob er ihn schon kennt, falls nein nen eintrag mit der zeit angelegt und gut ist
          Under Construktion

          Kommentar


          • #6
            hm naja sagen wir es so:

            - der user loogt sich ein dann hat er ein datum in db gespeichert... zb den 1.1.08

            - nun wird in der tread übersicht alle tread in ner schleife + deren letztposttime ausgeben, wenn nun die letztepost time größer als der 1.1.08 also zb 10.1.08 ist dann wird überprüft ob es einen eintrag gibt fallst es keinen gibt wurde der neue beitrag noch nicht gelesen falls es einen eintrag gibt wurde erbereits gelesen

            - schaut man ein tread an wird dann in die db dieser geaddet bzw geöndert?

            soll ich das so machen?also dann muss ich die zeit ja gar net mit in die db schreim???

            Kommentar


            • #7
              ich schreibe mal noch mal reinvielleicht wirds ja nochmal angeschaut

              was mich hier auch wundert ist dass zb das drin steht : seit Ihrem letzten Besuch: Heute, 19:20.

              dabei war dass ja nicht mein letzer besuch wenn ich ja die seiter refresh müsste der letze besuch ja immer mitgehen anscheiend machen die zufällig einen und schreiben diesen dann für den tag in die db...

              ach ich weis echt nicht wie ich die umsetzen soll... das problem ist ja etz gar nicht ob ich das mit tabellen machen soll oder cookie sondern viel mehr wann überhaupt das bild anders sein soll etc...

              mfg

              Kommentar


              • #8
                also mal ausführich.
                1. du makierst alle als neu
                2. Sobald er einen thread anschaust schreibst du in die db welcher das war (die id) und das aktuelle datum
                3. dann ließt du aus ob er sich einen thread schonmal angeschaut hat (eintrag in der db vorhanden), falls nein bild für neuen thread
                4. falls ja schaust du ob der thread seitdem schon verändert wurde

                und wenn er dann einen thread anschaut suchst du ob das schonmal passiert ist, falls ja updatest du nur das datum....
                gibt also max pro thread 1 eintrag pro user...
                Under Construktion

                Kommentar


                • #9
                  jow aber ich verstehe immer noch nicht wozu ich da nun die zeit mitspeichern soll ?

                  du makierst alle als neu

                  du meinst ich soll alle eben überprüfen welche seit dem letzen login neu sind??


                  mfg

                  Kommentar


                  • #10
                    Der "letzte Besuch" ist in der Regel der letzte Login. Ist die Session abgelaufen oder hat sich der User ausgeloggt, aktualisiert sich das Datum.

                    Ich würde immer einmal schauen, welche Posts seit dem letzten Seitenaufruf geschrieben wurden. Diese muss man speichern, mehr nicht.
                    Refining Linux: “[url=http://www.refining-linux.org/archives/65/Performing-push-backups-Part-1-rdiff-backup/]Performing Push Backups – Part 1: rdiff-backup[/url]”

                    Kommentar


                    • #11
                      ne also bei wbb und hier ist quasi immer der letzte login von einem tag weil bei mir steht nun ob zb Ihr letzter Besuch war: Heute um 00:04 Uhr


                      jow nun interessierts mich nur noch wozu die zeit mitspeichern des hatte irgent einen wichtigen grund weis aber nicht mehr welchen

                      ah etzat stimmt damit ich sagen kann ob der beitrag neu ist wobei ich das ja mit der login zeit ja auch weis??? naja kommt eben drauf an wie ich nun die letze login zeit nehme..

                      mfg

                      Kommentar


                      • #12
                        Du musst praktisch zwei Zeiten behalten. Einmal die angezeigte ("Ihr letzter Login") und einmal die Zeit des letzten Seitenaufrufs, damit man feststellen kann, welche Beiträge neu sind.
                        Refining Linux: “[url=http://www.refining-linux.org/archives/65/Performing-push-backups-Part-1-rdiff-backup/]Performing Push Backups – Part 1: rdiff-backup[/url]”

                        Kommentar


                        • #13
                          jow aber "Ihr letzter Login" zeit reicht ja aus die zeit wann die posts geschrieben wurden steht ja in der db

                          wo bei ich immern och nicht weis warum die zeit mit in die tabelle schreiben

                          mfg

                          Kommentar


                          • #14
                            Ja, die Zeit der Posts steht in der DB. Bloß kann man mit der nichts anfangen, wenn man keine Zeit zum Vergleich hat.
                            Die zeit "Ihr letzter Besuch" hat mit dem ganzen aber eigentlich gar nichts zu tun, sondern ist nur Gimmick.
                            Refining Linux: “[url=http://www.refining-linux.org/archives/65/Performing-push-backups-Part-1-rdiff-backup/]Performing Push Backups – Part 1: rdiff-backup[/url]”

                            Kommentar


                            • #15
                              hä ich hab halt einfach so verglichen user loog sich um 18.30 ein... und dann les ich die zeit die in der db unter lasposttime bei der tread tabelle steht mit der 18.30 zeit aus,... falls die zeit größer als 18.30 ist der beitrag halt neu...

                              mfg

                              Kommentar

                              Lädt...
                              X