Avatar billede dellevela Nybegynder
07. juni 2003 - 20:20 Der er 10 kommentarer og
1 løsning

session logoff

hej experter jeg har en chat hvor jeg er træt af at når folk lukker vinduet glemmer at trykke log af. derfor vil jeg gerne have lidt hjælp til denne function. jeg ved at når man trykker log af gør den sådan her:logoff($_COOKIE[chat_id],$_COOKIE[chat_sesid]);

jeg har så et funktions script for den cheker seesion og hvis der er gået 10 min logger den personen af. men hvis folk glemmer at trykke log af bliver de smidt af uden at få deres online tid. hvordan gør jeg sådan at selv om at de bliver smidt af får de deres online tid?

mit funktionsscript

function checksession($sesid){
    if ($sesid != "System"){
        $time = time();
        $check_session = mysql_query("SELECT * FROM chat_sessions where sesid='$sesid'");
        $check_row = mysql_fetch_array($check_session);
        if (mysql_num_rows($check_session) == "0"){
            Fejl("Your session died - please log on again");
        }
        else {
            $update_session = mysql_query("UPDATE chat_sessions SET lastaction='$time' where sesid='$sesid'");   
        }
    }
    oldsession();
    oldkicks();
}
function oldsession(){
    $timeout = time() - 200;
    $check_alle_sessions = mysql_query("SELECT * FROM chat_sessions where lastaction<'$timeout'");
    while ($row_alle_sessions = mysql_fetch_array($check_alle_sessions)){
        $dropinfo = brugerinfo($row_alle_sessions[id]);
        WriteToChat($dropinfo[room],"System","","<b>".$dropinfo[nick]."</b>´s ".Language("9")." ".date("H:i:s")."");
        mysql_query("DELETE FROM chat_sessions where id='$row_alle_sessions[id]'");
        mysql_query("DROP TABLE chat_txt_".$row_alle_sessions[id]."");
    }
}
function oldkicks(){
    $timeout = time() - 20;
    $check_alle_sessions = mysql_query("SELECT * FROM chat_sessions where kicktime<'$timeout' and kicktype>'0'");
    while ($row_alle_sessions = mysql_fetch_array($check_alle_sessions)){
        mysql_query("DELETE FROM chat_sessions where id='$row_alle_sessions[id]'");
    }


hvis i har en bedre ide så skriv
Avatar billede Slettet bruger
07. juni 2003 - 23:55 #1
Er det 2 forskellige ting, du spørg om?
Avatar billede dellevela Nybegynder
08. juni 2003 - 08:59 #2
nej det er hvad sker der hvis seesions tid går og den smider brugeren af hvordan laver man så sådan at han husker at logge af
Avatar billede vesters Nybegynder
08. juni 2003 - 16:49 #3
Kan du ikke lave et javascript, som åbner et lille nyt vindue, når chatvinduet bliver lukket (onUnload), og derefter lukker sit eget lille vindue igen. Det er vist sådan det virker på nightleif.dk
Avatar billede vesters Nybegynder
08. juni 2003 - 16:50 #4
Det lille vindue skal naturligvis køre den kode, som logger brugeren korrekt af...
Avatar billede dellevela Nybegynder
08. juni 2003 - 21:47 #5
ok men hvad hjælper det hvis man sidder og stener alså glemmer at skrive i 10 minutter
hvordan får jeg den så til at gemme data og logge af!
Avatar billede vesters Nybegynder
08. juni 2003 - 23:42 #6
Igen må du sætte et javascript til det, hvis man skal logges af efter præcis 10 min. Du skal huske at PHP ikke bliver afviklet på den lokale maskine.
Avatar billede tipsen Nybegynder
09. juni 2003 - 00:27 #7
header( 'refresh: 600; url=/blabla/logout.php' );
echo '<h1>You will be auto logged off in 10 minutes...</h1>';
Avatar billede vesters Nybegynder
09. juni 2003 - 00:48 #8
Jeg bøjer mig i støvet.
Har testet det, og manden har ret.
Forget what I said
Avatar billede dellevela Nybegynder
09. juni 2003 - 09:45 #9
jeg kom lige itanke om noget min chat er delt op i top og bund når man skriver noget i bund flyver det op i top top den opdarete hvert 6 sekund kan man så istedet for <?
header( 'refresh: 600; url=/blabla/logout.php' );
echo '';
?> 

kan man så ikke ændre på send knappen så når man trykker send opdatere den et andet vindue hvor <?
header( 'refresh: 600; url=/blabla/logout.php' );
echo '';
?> ligger i.


så nu kommer det sidste spørgsmål hvordan gør jeg sådan at send knappen stadig sender det op i toppen og så opdater rammen I2

<form method="post" action="top.php" target="top"  name="skrivfelt" onSubmit="return skrivclear();">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Du er i rum:<?=RoomNavn($brugerinfo[room]);?>.<p>Der er <?=CountOnlineUsers($brugerinfo[room]);?> bruger online. Din status er:<?=StatusNavn($brugerinfo[status]);?><br> <?=Language("44");?>:<? sendtouser($brugerinfo[id]);?></b>
<br>

              <input type="text" name="msg" size="40" maxlength="250">
              <input type="submit" value="Send" name="submit"> </p>

på forhånd tak!
Avatar billede dellevela Nybegynder
09. juni 2003 - 20:05 #10
lukker
Avatar billede vesters Nybegynder
09. juni 2003 - 23:01 #11
Synes måske godt du kunne have givet tipsen point. Han svarer trods alt specifikt på dit spørgsmål. At du så stiller flere spørgsmål, og forlanger kode er ikke fair...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester