Gjest Slettet+142 Skrevet 13. august 2007 Rapporter Del Skrevet 13. august 2007 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
slippern Skrevet 13. august 2007 Forfatter Rapporter Del Skrevet 13. august 2007 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! Lenke til kommentar
Crowly Skrevet 14. august 2007 Rapporter Del Skrevet 14. august 2007 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
slippern Skrevet 14. august 2007 Forfatter Rapporter Del Skrevet 14. august 2007 (endret) sorry. skrev litt feil 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? Endret 14. august 2007 av slippern Lenke til kommentar
Crowly Skrevet 14. august 2007 Rapporter Del Skrevet 14. august 2007 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
slippern Skrevet 14. august 2007 Forfatter Rapporter Del Skrevet 14. august 2007 Sist innom: 2007-08-14 13:42:54 Siste handling: 14-8-2007 13:42:54 Hvordan får jeg dem likkens. at det skal stå 14-08-2007 13:42:54 og 14-08-2007 13:42:54 på begge to. Sist innom finner automatisk "formatet" Lenke til kommentar
Crowly Skrevet 14. august 2007 Rapporter Del Skrevet 14. august 2007 Dato formatet i Mysql er YYYY-MM-DD HH:MM:SS Altså År-Månded-Dag Time:Minutt:Sekund Bruk DATE_FORMAT() til å formatere output'en i sql settningen. Lenke til kommentar
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå