kostenloser Webspace werbefrei: lima-city


Forum - Neue Beiträge

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    ravenc

    ravenc hat kostenlosen Webspace.

    Ich habe folgendes Baumforum:
    http://ravenc.lima-city.de/diverses/forum.txt

    Jedoch kann man sich dort nicht die neuen Beitr?ge anzeigen lassen.

    Hat jemand eine Ahnung, wie ich dass Forum erweitern muss, damit dies m?glich ist?

    Damit ein User erkennen kann ob er den Beitrag schon gelesen hatt.

    Freue mich auf eure Antworten

    mfg RaVenC
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. n********r

    Der ganze Code hilft nicht viel weiter.
    Kannst du uns mal genau den Ausschnitt hier posten der f?r die neuen Beitr?ge wichtig ist?
    VOn welchem Forum ist das?
  4. Speichere wann ein User das letzte mal eingeloggt war als UNIX Timestamp.
    Ebenso speicherst du immer die Zeit, zu der ein Post geschrieben wurde mit einem UNIX Timestamp.

    Und dann liest du alle Beitr?ge aus, die einen gr??eren UNIX Timestamp haben als die letzte Aktivit?tszeit des Users.

    Zus?tzlich musst du dann mit cookies speichern, welche der neuen Beitr?ge jetzt vom User schon gelesen wurden, um diese dann nach und nach nicht mehr zu highlighten.
  5. n********r

    Dumm ist dann nur, wenn der User seine Cookies l?scht.
    Deswegen solltest du auch machen, wenn der UNIX Timestamp ?lter als 48 Stunden ist, oder 24 alle als gelesen makiert werden,

  6. Dumm ist dann nur, wenn der User seine Cookies l?scht.

    Selber Schuld. Der Cookie muss ja nicht mal das schlie?en des Browserfensters ?berleben. Sobald man sich neu einloggt wird nach diesem Prinzip sowieso ein neuer Cookie angelegt.

    Alle bis dahin neunen, nicht gelesenen Themen werden beim schlie?en des Browsers quasi als gelesen betrachtet.


    Deswegen solltest du auch machen, wenn der UNIX Timestamp ?lter als 48 Stunden ist, oder 24 alle als gelesen makiert werden,

    Eine Begrenzung von 48 Stunden w?re angebracht.
    Ansonsten k?nnten das nach l?ngerer Abwesenheit schon ziehmliche Datenmassen sein.
  7. n********r

    Ja stimmt.
    Oder er speichert die Daten in einer DB.
    Ist vielleicht sogar noch besser.
  8. Das Problem mit einer DB w?re, wenn man das auf die ganzen User hochrechnen w?rde, dass zu viel speicher verbrauchen w?rde. (Deutsche Sprache^^)

    Da ist es doch wesentlich praktischer, wenn man SELECT id,forum FROM posts WHERE submitted>$user_last_logged_on
    macht und das in nen Cookie packt.
    Ansonsten m?sste auch jeden Seitenaufruf aufs neue eine relativ aufwendige Query gestartet werden, die eben nachschlagen muss, was schon angesehen wurde und welche nicht. Da ist ein Cookie, der das dem Server mitteilt schon wesentlich praktischer.
  9. n********r

    Also du meinst das man es so macht:

    post --> timestamp

    user login --> timespam in cookie

    post_time > cookie_time
    {
    neuer Beitrag
    }

    post_time+60*60*48 > time
    {
    kein neuer post?
    }

    Habe ich das jetzt richtig verstanden?
  10. newwarrior schrieb:
    post_time+60*60*48 > time
    {
    kein neuer post?
    /*
    Dann ist es logischerweie ein neues Post !
    Ein Post ist veraltet, wenn die Zeit+48 Stunden kleiner als die jetzihe Zeit ist.
    */
    }


    Damit kannst du dir dann das hier sparen:

    post_time > cookie_time
    {
    neuer Beitrag
    }


    Ansonsten stimmt das so.
  11. n********r


    newwarrior schrieb:
    post_time+60*60*48 > time
    {
    kein neuer post?
    /*
    Dann ist es logischerweie ein neues Post !
    Ein Post ist veraltet, wenn die Zeit+48 Stunden kleiner als die jetzihe Zeit ist.
    */
    }


    Damit kannst du dir dann das hier sparen:

    post_time > cookie_time
    {
    neuer Beitrag
    }


    Ansonsten stimmt das so.


    Aber wenn ich mir das dann sparen kann, wofpr brauch in dann den Cookie?
    Wegen der letzten login zeit?
    Die kann ich doch dann auch in der DB speichern, denn ein Timestamp nimmt ja nicht viel Platz weg.
  12. In den Cookie schreibst du (zus?tzlich) alle Post IDs rein, die du schon gelesen hast.
    Und bei der Ausgabe werden dann alle Posts, die in der Cookie-Liste stehen, dann nicht als neu markiert.

    Beitrag ge?ndert am 1.05.2006 11:10 von bladehunter
  13. n********r

    Ich wei? wohl wie ich eine sache rein schreibe das mit dem tiemstamp.

    Aber wie mache ich es wenn ich alle in einem Array habe?
  14. Du schreibst einfach das komplette Array in deinen Cookie

    $_COOKIE['posts'] = $array

    Dann kannst du bspw. die IDs mit ner FOR-Schleife auslesen

    for($i=0; $i<count$_COOKIE['posts']; $i++)
    {
    $id = $_COOKIE['posts'][$i]['id'];
    }
  15. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!