Jump to content
php.lv forumi

Noteikt vai lietotājs ir ielogojies pēdējo 24h laikā .. ?


Recommended Posts

Posted

Tātad ..

Ir nepieciešamība pārbaudīt vai lietotājs ir ielogojies savā profilā pēdējo 24h laikā !

Piemēram - lietotājs veiksmīgi autorizējās aizvakar, un šodien ieejot viņs saņem ziņu par to ka nav bijis aktīvs 2 dienas ..

Kā to panākt ? Izmeklējos pa māti googli, bet nekādu rezultātu.

 

Paldies jau iepriekš :)

Posted

<?php
$parbaude = unix_timestamp();
echo $parbaude;
?>

 

Fatal error: Call to undefined function unix_timestamp() in C:\wamp\www\date.php on line 3

 

Kur ir problēma ?

Posted

unix timestamp'u dabū ar time() php funkciju.

unix_timestamp() ir MySQL funkcija - to lieto MySQL UPDATE teikumā, kad atjauno informāciju tabulā par lietotāju.

Posted
glabā last_login laukā unix_timestamp() un tad salīdzini vai tas atšķirās par 86400 no pašreizējā unix_timestamp();
Kļūda! Šajā gadījumā tiks uzrādīts arī tad, ja lietotājs būs ielogojies nākamo 24 stundu laikā!
Posted (edited)

Vispār jau ne, to last_login jau pieglabā kad ir last action, bet salīdzina ar current timestamp.

apmēram tas pats, kas ierakstot NOW() iekš last_login ņemam SELECT kautkas FROM table WHERE last_login>NOW() - 1 DAYS.

Varbūt nekorekti, bet man tā liekas, neesmu mēģinājis.

Ja tiek likts akcents uz dienām/datumiem, iepējams ir ka nesanāk normāli, bet tad arī jāpārbauda ir datums, ne laiks kā unix_timestamp

Edited by mounkuls
Posted

Nu ar to laiku man viss sanāca, bet - cik tagad nospriedu .. vajag pārbaudīt arī datumu, jo man vajag zināt cik katrs cilvēks ir bijis neaktīvs !

Lai viņs ieejot savā profilā pēc 3 dienu pārtraukuma, redzētu to Neaktīvs statusu ..

Posted
Fatal error: Call to undefined function unix_timestamp() in C:\wamp\www\date.php on line 3

 

neredzi kur ir problēma..

Posted

Pentiums: izlasi tak visu topiku, nevis tikai vienu postu. Viņš jau saprata, kur ir problēma.

NoSound: codez tev jau pateica ka to darīt. Selektējot datus no tabulas salīdzini patreizējo laiku ar to laiku, kurš pieseivots pie pēdējās ielogošanās reizes.

Posted

bubu : un kas notiks ja salīdzināšu šos 2 laikus ar 3 dienu atstarpi ? Rezultāts - 3 dienas tiek pazaudētas kā nebijušas, jo fiksēts tiek tikai laiks nevis datums ! Un par datumu neko arī neatradu .. Uzgāju vienu mistiski JS kodu, bet tā arī neizpratu kur kam tur sakars ..

Posted

unix_timestamp kā laika jēdziens ietver gan datumu, gan laiku (pulksteni).

Dīvaini, ka tu "par datumu neko arī neatradi".

Man atlika uzšķirt MySQL manuāli UNIX_TIMESTAMP funkcijai: http://dev.mysql.com/doc/refman/5.0/en/dat..._unix-timestamp un attiecīgi izlasīt:

If called with no argument, returns a Unix timestamp (seconds since '1970-01-01 00:00:00' UTC) as an unsigned integer.

Acīmredzami, ka tur datums ir iekļauts arī.

Ja joprojām neesi pārliecināts, tad lasi šeit: http://en.wikipedia.org/wiki/Unix_timestamp

Nesaprotu kā var "neko neatrast"...

×
×
  • Create New...