[PHP] forum last visited

Pagina: 1
Acties:

  • Fles
  • Registratie: Augustus 2001
  • Laatst online: 06-04-2023
Ik heb zelf een forum in elkaar gezet in PHP. Het is de bedoeling dat hij ook bij houdt welke posts nieuw zijn. Ik doe dit aan de hand van de tijd. Nu moet ik de tijd van van het laatste bezoek eigenlijk updaten als de pagina verlaten wordt. Heeft iemand een idee hoe ik dit het beste kan doen?
Of misschien heeft iemand andere suggesties.

  • KlaasB
  • Registratie: Juli 2000
  • Laatst online: 01-07-2024
Steeds als de gebruiker een pagina van het forum bekijkt, de datum wegschrijven in een cookie of database.

It's not a bug, it's a feature


  • Fles
  • Registratie: Augustus 2001
  • Laatst online: 06-04-2023
Het moet alleen als de hele pagina vernieuwd wordt. Als je het altijd doet als er een pagina op het forum wordt bekeken, dan is de tijd altijd gelijk aan de huidige tijd als je de pagina laadt, dus is er nooit nieuwe post.
Dit werkt niet echt dus. Maar in iedergeval bedankt voor je reactie.

Verwijderd

je begrijpt het denk ik verkeerd. Als je er voor het eerst komt, dan zijn alle posts nieuw en schrijf je de tijd weg. De tweede keer pluk je de tijd er eerst uit, kijkt welke posts nieuw zijn en schrijft daarna weer de tijd weg.

  • eamelink
  • Registratie: Juni 2001
  • Niet online

eamelink

Droptikkels

Inderdaad, dat is denk ik ook het handigst. Het is lastig om te kijken wanneer ze weg zijn. Alhoewel dat met een Javascriptje nog wel zou kunnen, maar dat is niet zo mooi. Ik denk dat je voor bovenstaande oplossing zou moeten kiezen.

Verwijderd

of je kunt ook gewoon niks van de gebruiker aantrekken en kijken welke posts er het laatste half uur zijn gepost oid, alleen is dat dan ook weer minder netjes en sociaal voor de gebruiker :P

  • Fles
  • Registratie: Augustus 2001
  • Laatst online: 06-04-2023
Het wegschrijven van de tijd als de pagina geladen wordt kan niet. Dan laat hij helemaal geen nieuwe posts meer zien als een post is geopend.
Het laatste is wel een manier, om de posts van het laatste half uur te laten zien. Maarja, het blijft toch het mooist als de tijd geupdate wordt als je de pagina verlaat.
Heeft iemand een idee hoe dat bij dit forum gaat?

  • brammetje
  • Registratie: Oktober 2000
  • Laatst online: 12-01-2025
Op zaterdag 17 november 2001 18:43 schreef Graveheart het volgende:
Heeft iemand een idee hoe dat bij dit forum gaat?
ja, die update de tijd van je laatste bezoek als je op de eerste pagina komt (als je in dezelfde browsersessie nog eens komt dan updat tie niet!)

Verwijderd

PHP:
1
2
3
4
5
6
7
<?
function check ($lastvisit, $timestamp)
{
    if($timestamp > $lastvisit) newpost
    else oldpost
}
?>

Zoals je kunt zien doet deze functie heel simpel kijken of de timestamp van je laatste bezoek kleiner is dan de timestamp van een post. Zo, ja, dan is het een niewe post, zo nee, dan is het een oude post.
Je moet je scripts dus gewoon voorzien van de regel [php]setcookie('lastvisit', time());[php] Natuurlijk wel voordat je output hebt. (of ob_start, ob_flush gebruiken).
Suc6

Verwijderd

onunload(window.open('updatekoekje.php'); in je body ?

  • Fles
  • Registratie: Augustus 2001
  • Laatst online: 06-04-2023
Op zaterdag 17 november 2001 19:04 schreef daniel_hoenderdos het volgende:
PHP:
1
2
3
4
5
6
7
<?
function check ($lastvisit, $timestamp)
{
    if($timestamp > $lastvisit) newpost
    else oldpost
}
?>

Zoals je kunt zien doet deze functie heel simpel kijken of de timestamp van je laatste bezoek kleiner is dan de timestamp van een post. Zo, ja, dan is het een niewe post, zo nee, dan is het een oude post.
Je moet je scripts dus gewoon voorzien van de regel [php]setcookie('lastvisit', time());[php] Natuurlijk wel voordat je output hebt. (of ob_start, ob_flush gebruiken).
Suc6
Eh, hier vroeg ik niet erg om... :?
Het ging erom wanneer ik die cookie moet updaten.

Verwijderd

Oh sorry. Ik zou het cookie boven ieder script eerst in een nieuwe variabele lezen ($lastvisit = $time;) en daar na het cookie updaten (setcookie('time', time());).

Verwijderd

ik weet al een goede: je schrijft elke keer dat je op de pagina komt de tijd weg naar het koekje, voordat je dat doet, pluk je eerst de tijd die nog in het koekje stond (van het vorige bezoek dus) uit het koekje en pleurt die in een session. Je werkt dan de rest van de tijd met de sessie en niet met het koekje, die gebruik je pas de volgende keer weer om de tijd eruit te halen, weg te schrijven in de session en de huidige tijd erin te pleuren.

beetje duidelijk zo?

sjees, wat ben ik weer liev, helemaal voorgeschoteld, je had eerlijk gezegd na m'n laatste post met een beetje nadenken ook wel zelf een soort systeem kunnen bedenken.
Pagina: 1