login -> tijd

  • Hallo iedereen, ik ben nogal een Noob met tijd, ect in php
    Snap er totaal niets van, hoevel TUTs ik ook bekijk...


    Nu zoek ik iemand die me zou kunnen helpen hierbij.
    Ik heb een login systeem en nu zou ik erin willen hebben dat de tijd wordt opgeslagen dat er ingelogd wordt.
    Ook dat er wordt nagegaan of je wel actief bent of niet.
    En als je bv. 15 minuten nergens op klikt dat hij je dan uitlogt en ook in database je als uitgelogd weergeeft.


    Als iemand me kan helpen?
    Alvast bedankt!
    met vriendelijke groet
    R.Haentjens

  • PHP
    // Plaats het volgende stuk in je header welke op iedere pagina opgevraagd wordt.
    $_SESSION['userlogged'] = time(); // Session aanmaken met de tijd als data
    if($_SESSION['userlogged'] < time()+15*60){ // Verander 15 in het aantal minuten
    	// Hier kun je ervoor zorgen dat de gebruiker uitgelogd word. Dit kun je bijvoorbeeld doen met: "$gebruiker -> logout();"
    }
    // Als de gebruiker 15 minuten niets heeft opgevraagd en hij wil een nieuwe pagina opvragen zal hij automatisch uitgelogd worden.
  • Of je zet in je congif.php waar eerst mysql connectie komt sleep(*aantal seconden*); neer en doet daarna session_destroy(); en je logt uit. Hij wacht met die actie totdat het zover is en als je een nieuwe pagina aanklikt gaat het weer opnieuw.

  • sleep() is niet aan te raden, omdat alles dan blijft geladen. Zo maak je het mensen makkelijker om je site plat te leggen. Heel veel connecties die zó lang openstaan.. ik denk niet dat de server daar blij van gaat worden.

  • Ik heb het geregeld met in de config dit te plaatsen
    mysql_query("UPDATE gebruikers SET online = NOW() WHERE username = '".$_SESSION['login']."'");


    En dan in de online leden pagina (want daarvoor was het dat anders bij online leden deel bleef staan)
    heb ik nu dit:
    $sLedeninfo = mysql_query ("SELECT * FROM `gebruikers` WHERE DATE_SUB(NOW(),INTERVAL 15 MINUTE) <= online ORDER BY `username` ASC ");


    Hier kan een slotje op

Participate now!

Heb je nog geen account? Registreer je nu en word deel van onze community!