Avatar billede supersquirrel Nybegynder
09. november 2007 - 22:56 Der er 10 kommentarer og
1 løsning

Hvor meget er det?

et UTROLIGT simpelt spørgsmål, men dog er jeg i tvivl om det :P

Jeg har denne bette tids kode ting, som jeg er igang med at teste:
$ip = $_SERVER[REMOTE_ADDR];
$time = explode(" ",microtime());
$array1 = $time[0];
$array2 = $time[1];
$r = mysql_fetch_row( mysql_query("SELECT * FROM ym_community WHERE ip LIKE '$ip' AND site_status='online'"));
mysql_query("UPDATE ym_community SET site_status='offline' WHERE time_date < $array2 - 400") or die("Fejl: " . mysql_error());
mysql_query("UPDATE ym_community SET time_date='$array2' WHERE ip='$ip'") or die("Fejl: " . mysql_error());
$sql = mysql_query("SELECT * FROM ym_community where ip='$ip'") or die("Fejl: " . mysql_error());
while($onlineTjek = mysql_fetch_assoc($sql)){
    if($onlineTjek[site_status] == "offline"){
        session_destroy();
    }
}
?>

Men der hvor der står "..... WHERE time_date < $array2 - 400")", hvor meger er de 400 så i sekunder/minuter?
Avatar billede kdjweb Nybegynder
09. november 2007 - 23:08 #1
Tjaee, ville det ikke være lidt mærkeligt at du var online i 400 minuter efter sidste side besøg ;)

Jeg ville sige sekunder

ifølge http://dk.php.net/microtime

$time = explode(" ",microtime());
$array1 = $time[0];
$array2 = $time[1]; // <-- sekunder

så ja, det er vel sekunder
Avatar billede supersquirrel Nybegynder
09. november 2007 - 23:09 #2
Tænkte sku nok, men har altid været i tvivl :o)

smid et svar
Avatar billede kdjweb Nybegynder
09. november 2007 - 23:11 #3
Hehe ja, ;) jeg bruger normalt timestamp til sådan noget fis, men micotime er vel en fin måde at gøre det på :)
Avatar billede supersquirrel Nybegynder
09. november 2007 - 23:34 #4
Altså hvis du har lysten og tiden, så må du da meget gerne hjælpe mig med et nyt et..
Det vil jeg da sætte stor pris på :)
Avatar billede kdjweb Nybegynder
10. november 2007 - 00:04 #5
virker det her da ikke?
Avatar billede supersquirrel Nybegynder
10. november 2007 - 00:22 #6
Jeg vil ikke sige det virker helt optimelt..
Men hvis dit virker 100%, så er jeg da mere tilbøjelig til at prøve, hvis jeg kan få lidt assistance fra dig :))
Avatar billede supersquirrel Nybegynder
10. november 2007 - 00:23 #7
til at prøve dit*
Avatar billede kdjweb Nybegynder
10. november 2007 - 01:47 #8
Forklar hvad der går galt med dit
Avatar billede supersquirrel Nybegynder
15. november 2007 - 18:51 #9
Jo altså,
Nu har jeg efter noget tid lagt mærke til at jeg hver gang skal logge ind 2 gange inden min session bliver sat, og jeg vil sige at det er pga. tidskode tingen.

Her er mit login.php:
if($_GET[action] == "login"){
    if($_POST[brugernavn] != "" && $_POST[kodeord] != ""){
        $newpass = md5($_POST[kodeord]);
        $sql = mysql_query("SELECT * FROM ym_community WHERE brugernavn='$_POST[brugernavn]' AND adgangskode='$newpass' LIMIT 1") or die("Fejl: " . mysql_error());
        if(mysql_num_rows($sql) == 1){
            while($brugerLogin = mysql_fetch_assoc($sql)){
                $_SESSION[brugernavn] = $brugerLogin[brugernavn];           
                ?>
            <table border="0" cellspacing="0" cellpadding="0" width="446" style="border:1px solid #000000; margin-bottom:5px">
                <tr>
                    <td align="center" height="35"><font color="green"><b>Du er blevet logget ind med succes!:)</b></font></td>
                </tr>
            </table>
                <?
                $time = explode(" ",microtime());
                $array1 = $time[0];
                $array2 = $time[1];
               
                    mysql_query("UPDATE ym_community SET time_date='$array2' WHERE ip LIKE '$ip'") or die("Fejl: " . mysql_error());
                    mysql_query("UPDATE ym_community SET site_status='online' WHERE ip LIKE '$ip'") or die("Fejl: " . mysql_error());
                    mysql_query("UPDATE ym_community SET last_login='$lastLogin' WHERE brugernavn='$_POST[brugernavn]'") or die("Fejl: " . mysql_error());               

                print "<script>document.location.href='index.php'</script>";
        }}else{
            print "Forkert brugernavn eller kodeord";
    }}else{
        print "Du skal udfylde alle felter :))";
}}


Oooog, her er det der opdaterer timetingen i header.php:
$ip = $_SERVER[REMOTE_ADDR];
$time = explode(" ",microtime());
$array1 = $time[0];
$array2 = $time[1];
$r = mysql_fetch_row( mysql_query("SELECT * FROM ym_community WHERE ip LIKE '$ip' AND site_status='online'"));
mysql_query("UPDATE ym_community SET site_status='offline' WHERE time_date < $array2 - 400") or die("Fejl: " . mysql_error());
mysql_query("UPDATE ym_community SET time_date='$array2' WHERE ip='$ip'") or die("Fejl: " . mysql_error());
$sql = mysql_query("SELECT * FROM ym_community where ip='$ip'") or die("Fejl: " . mysql_error());
while($onlineTjek = mysql_fetch_assoc($sql)){
    if($onlineTjek[site_status] == "offline"){
        session_destroy();
    }
}

Så hvis du måske hurtigt kan se det igennem? Og måske hjælpe mig med at forbedre det. Selvfølgelig vil du få flere point efter det :)
Avatar billede supersquirrel Nybegynder
15. november 2007 - 18:58 #10
- En anden skal da også være velkommen til at lægge et indlæg :D
Avatar billede supersquirrel Nybegynder
15. november 2007 - 19:06 #11
Smider overstående spørgmål ind i et nyt :)
- Tak for hjælpen :)
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