Gå til innhold

Hvordan får jeg sist logget in?


Anbefalte innlegg

Okei, jeg har en side som folk kan logge inn på osv. Alt er laget fra bunn av men det er en ting jeg trenger hjelp med. Jeg har tenkt å lage ett system som sletter brukere fra DBen når de ikke har vært pålogget på en måned.

 

Men, det er ikke det jeg trenger hjelp til.

 

Jeg trenger hjelp med php til og endre sist pålogget raden(last_online), så når de logger inn på brukeren sin last_online vil bli endret til datoen det er den dagen de logger inn

 

(D-M-Y)

 

Hvis noen kan hjelpe meg med dette så hadde det vært konge!

 

-WeExClan

Lenke til kommentar
Videoannonse
Annonse

Alright.

 

I login scriptet ditt, når du setter SESSION / COOKIE variablene så kjører du en MYSQL Update.

 

Feks UPDATE `user` SET `last_online` = NOW() WHERE userID = 'BrukerIDHer';

 

Dette er hvis du bruker MySQL DATE / DATETIME.

Hvis du bruker PHP sin time(); funksjon så tar du og skriver noe lignende:

 

UPDATE `user` SET `last_online` = '{$time}' WHERE userID = 'BrukerIDHer';

 

Også definerer du variablen $time litt tidligere i scriptet :) eller rett før du kjører Query'n.

Endret av Surmoth
Lenke til kommentar

Her er php filen, hvor skal jeg sette inn

 

http://pastie.org/pr...pufvgc2szfu5nrw

 

UPDATE `users` SET `last_online` = NOW() WHERE userID = 'user_id';

 

Sett det inn under:

$_SESSION['user_level'] = $row['user_level'];

(Linje 97)

 

Ut i fra åssen DB strukturen din ser ut så tror jeg dette vil være riktig kommando:

 

mysql_query ( "UPDATE `users` SET `last_online` = NOW() WHERE `user_id` = '{$_SESSION[user_id]}' LIMIT 1;" );

 

Lenke til kommentar

Tror du må sette default tidssone. Det gjør du ved å sette dette i toppen av phpen din:

 

// sett default tidssone
date_default_timezone_set('CET');

 

Hvis dette er feil så si ifra noen. :)

 

Og litt off topic:

Det er en kommentar som vises på siden din hvis man markerer den:

post-177908-1275313768,1245_thumb.png

Lenke til kommentar

Tror du må sette default tidssone. Det gjør du ved å sette dette i toppen av phpen din:

 

// sett default tidssone
date_default_timezone_set('CET');

 

Hvis dette er feil så si ifra noen. :)

 

Og litt off topic:

Det er en kommentar som vises på siden din hvis man markerer den:

post-177908-1275313768,1245_thumb.png

 

 

Det skal være CEST. Vi er under summer time nå :) Så den riktige kommandoen er

 

date_default_timezone_set('CEST');

Lenke til kommentar

Hvilken versjon av php bruker du? Hvis du bruker en tidligere enn 5.1.0 så er det problemet, fordi det er versjonen hvor tidssone funksjonen ble introdusert.

 

Edit:

Du kan finne det ut ved å sette denne koden inn på siden din:

<?php
echo "Version: " . phpversion();
?>

 

edit 2:Retting påpekte skriveleif...

Endret av Oysteinkn
  • Liker 1
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...