Gå til innhold

[LØST]Online script hjelp


Anbefalte innlegg

Gjest Slettet+142

Hvis du skal ha det som cronjob skal jeg ikke si så mye.

 

Ellers kan du legge det i alle skriptene som har isset(session username) ja ;D

 

Men når en gjør det slik, må du også passe på at siden din sjekker om login er gyldig. Altså at om sessions ikke stemmer overens med hva mysql sier, må du fikse sessions til å si det samme som mysql. - Men det bare hvis mysql sier "ikke innlogget", mens sessions sier "innlogget". Hvis mysql sier "innlogget", mens sessions "ikke innlogget", må du logge brukeren ut, og fikse session-variablene.

Lenke til kommentar
Videoannonse
Annonse
Med det samme jeg går inn på en side, så står det at jeg er logget ut.. men jeg blir ikke logget ut! :(

9274494[/snapback]

 

Prøv dette logg ut skriptet

PHP
<?php

// Unset all of the session variables.

 $_SESSION = array();

 

 // If it's desired to kill the session, also delete the session cookie.

 // Note: This will destroy the session, and not just the session data!

 if (isset($_COOKIE[session_name()])) {

 setcookie(session_name(), ''time()-42000'/');

 }

 

 // Finally, destroy the session.

 session_destroy();

 echo '<meta http-equiv="refresh" content="0;url=index.php" />';

?>

Lenke til kommentar

sorry. skrev litt feil :p

 

Når jeg er på en side, så står det at jeg er logget ut.

pga. når jeg logger inn, så skriver jeg til database, der online = 1 betyr at brukeren er online.

 

men når jeg går inn på en annen side. så blir det skrevet om til 0.

 

la til dette.

 

$lgo = ("UPDATE brukere SET online=0 WHERE ((UNIX_TIMESTAMP() - UNIX_TIMESTAMP(sisthandling)) / 60) > 5");

mysql_query($lgo);

 

men må jeg lagre tiden som timestamp i databasen?

 

 

#1293 - Incorrect table definition; there can be only one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause

 

altså jeg kan bare ha en timestamp med CURRENT_TRIMESTAMP eller ON UPDATE..

 

men jeg trenger desverre to.. hvordan fikser man det? :p

Endret av slippern
Lenke til kommentar

Du kan ha flere timestamp, men kun en av dem blir automatisk fylt ut, så du må fylle inn det andre feltet selv. Men jeg tror fortsatt du kan forenkle systemet ditt. Det skulle holde med ett timestamp felt.

Når bruker logger inn eller gjør noe så settes eller oppdateres siste_handling. Når bruker logger ut så settes siste_handling til NULL. Da har du alt du trenger for å finne ut om bruker er online eller ikke.

Så er det bare å legge til i WHERE delen av sql settningen "AND siste_handling IS NOT NULL" så hentes kun brukere som er online/har ett tidspunkt i siste_handling.

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å
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...