Skrive online / offline til db ved logind...

Tags:    php

<< < 12 > >>
Hejsa..

Jeg vil gerne ha at min php kode skriver til min db en status på brugeren (online / offline) når personen logger ind... Desuden vil jeg gerne ha skrevet et log ind tidspunkt...

Ville bare høre om dette er 'smart' at gøre, eller om der er en nemmere måde at gøre det...

har tilføjet følgende i min db:

sidste_login, datetime, 0000-00-00 00:00:00
profil_status: varchar(6), offline (<= standard værdi)

har så prøvet at tilføje følgende i min login-ok.php:
Fold kodeboks ind/udKode 


Kan bare ikke få ovenstående tilføjelse til at virke...
Har valgt at placere det der, da jeg tænkte at det skulle stå EFTER db'en har fundet ud af at brugeren findes, så man ikke får en masse bøvl med det...

Herefter vil jeg gerne ha to if-sætninger...:

Den ene skal checke om brugeren er online i db'en, hvis ikke, så smides brugeren tilbage til index.php... Det er meningen at koden skal kunne inkluderes på alle sider der skal beskyttes af log ind funktionen...

Den anden if sætning skal inkludere right.txt eller right2.txt...


Til online / offline havde jeg forestillet mig noget allá:

mysql_query("select profil_status FROM users WHERE brugernavn = '$_SESSION[brugernavn]'")
or die (mysql_error());


if ($profil_status = offline) {
echo '<meta http-equiv=refresh content=0;URL=http://www.graus.dk/index.php>';
} else {
echo " ";
}

og til inkludering af menu'er:

mysql_query("SELECT profil_status FROM users WHERE brugernavn = '$_SESSION[brugernavn]'")
or die (mysql_error());

if ($profil_status = offline) {
echo 'include("right.txt")';
} else {
echo "include("right2.txt")";
}

Nogen der kan hjælpe mig lidt videre med dette???

På forhånd tak :)

Daniel Grau



ps: hov.. kom forresten i tanke om noget... Det måske ikke så smart en ide at skrive online / offline til db'en.. for hvis folk bare lukker vinduet, så ændres online jo ikke til offline... Nogen der har lidt hjælp til hvordan det f.eks kan gøres med sessions...?? Eller noget andet...

[Redigeret d. 16/05-04 19:22:40 af Daniel Grau]



11 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 3 karma
Sorter efter stemmer Sorter efter dato
Hejsa..

Jeg vil gerne ha at min php kode skriver til min db en status på brugeren (online / offline) når personen logger ind... Desuden vil jeg gerne ha skrevet et log ind tidspunkt...

Ville bare høre om dette er 'smart' at gøre, eller om der er en nemmere måde at gøre det...

har tilføjet følgende i min db:

sidste_login, datetime, 0000-00-00 00:00:00
profil_status: varchar(6), offline (<= standard værdi)

har så prøvet at tilføje følgende i min login-ok.php:
Fold kodeboks ind/udKode 


Kan bare ikke få ovenstående tilføjelse til at virke...
Har valgt at placere det der, da jeg tænkte at det skulle stå EFTER db'en har fundet ud af at brugeren findes, så man ikke får en masse bøvl med det...

Herefter vil jeg gerne ha to if-sætninger...:

Den ene skal checke om brugeren er online i db'en, hvis ikke, så smides brugeren tilbage til index.php... Det er meningen at koden skal kunne inkluderes på alle sider der skal beskyttes af log ind funktionen...

Den anden if sætning skal inkludere right.txt eller right2.txt...


Til online / offline havde jeg forestillet mig noget allá:

mysql_query("select profil_status FROM users WHERE brugernavn = '$_SESSION[brugernavn]'")
or die (mysql_error());


if ($profil_status = offline) {
echo '<meta http-equiv=refresh content=0;URL=http://www.graus.dk/index.php>';
} else {
echo " ";
}

og til inkludering af menu'er:

mysql_query("SELECT profil_status FROM users WHERE brugernavn = '$_SESSION[brugernavn]'")
or die (mysql_error());

if ($profil_status = offline) {
echo 'include("right.txt")';
} else {
echo "include("right2.txt")";
}

Nogen der kan hjælpe mig lidt videre med dette???

På forhånd tak :)

Daniel Grau



ps: hov.. kom forresten i tanke om noget... Det måske ikke så smart en ide at skrive online / offline til db'en.. for hvis folk bare lukker vinduet, så ændres online jo ikke til offline... Nogen der har lidt hjælp til hvordan det f.eks kan gøres med sessions...?? Eller noget andet...

[Redigeret d. 16/05-04 19:22:40 af Daniel Grau]


når du tilføjer tiden til db'en skal du ikke skrive 'Now()' men bare Now() da det er en Date type, ikke en String.

Og det der online/offline er besværligt... du kan gøre det sådan, at når du alligevel har db'en åben, så går du ind og sætter online status til offline hos alle hvis sidst_online er mere end fx 20 min gammel.

håber jeg skriver forståeligt...



når du tilføjer tiden til db'en skal du ikke skrive 'Now()' men bare Now() da det er en Date type, ikke en String.


Hmm.. Takker... :)

Og det der online/offline er besværligt... du kan gøre det sådan, at når du alligevel har db'en åben, så går du ind og sætter online status til offline hos alle hvis sidst_online er mere end fx 20 min gammel.


Hmm.. Så kan folk jo ikke være online længere tid end et hvis givent tid... (i dit tilfælde 20 min)... Jo ikke liiige det der er meningen...

Nogen der kan evt. hjælpe med at få det lavet sårn at online / offline blir sat til når folk logger ind, og forsvinder når de logger ud... Evt. et link :)

håber jeg skriver forståeligt...


Gør du skam :P



Hmm.. Så kan folk jo ikke være online længere tid end et hvis givent tid... (i dit tilfælde 20 min)... Jo ikke liiige det der er meningen...


de kan nemlig godt være online længe! så linge de vil! hver gang de loader siden bliver db'en jo opdateret med en ny sidst_online. så det er kun hvis man idler (hvilket man jo egentlig er hvis man ikke laver noget i en halv times tid) man bliver smidt af



Hmm.. Så kan folk jo ikke være online længere tid end et hvis givent tid... (i dit tilfælde 20 min)... Jo ikke liiige det der er meningen...


de kan nemlig godt være online længe! så linge de vil! hver gang de loader siden bliver db'en jo opdateret med en ny sidst_online. så det er kun hvis man idler (hvilket man jo egentlig er hvis man ikke laver noget i en halv times tid) man bliver smidt af



Ooooh... du vil tilføje det med online / offline på alle sider???

Har iøvrigt lidt vrøvl med at indsætte now() i db'en når man logger ind....:

mysql_query("UPDATE users SET sidste_login = now() WHERE brugernavn = '.&$_HTTP_POST_VARS['brugernavn']'")
or die (mysql_error());

Virker ikke rigtigt.... Står godt nok imellem noget andet...?...:

Fold kodeboks ind/udKode 


Ved ikke om det kan være problemet..?

[Redigeret d. 16/05-04 20:07:40 af Daniel Grau]



Ooooh... du vil tilføje det med online / offline på alle sider???

Nemlig!


Har iøvrigt lidt vrøvl med at indsætte now() i db'en når man logger ind....:

mysql_query("UPDATE users SET 'sidste_login' = now() WHERE brugernavn = '.&$_HTTP_POST_VARS['brugernavn']'")
or die (mysql_error());

hehe, nu har du sat ' ' omkrin sidste_login...! det må du hellerik...!



hehe, nu har du sat ' ' omkrin sidste_login...! det må du hellerik...!


lol.. hehe.. det var dog dælans som jeg elsker dem... :P

Hmm... hvordan vil den kode som du vil bruge til at checke om folk har været online i mere end 20 min (som skal indkluderes...) se ud...





lol.. hehe.. det var dog dælans som jeg elsker dem... :P

hehe, det sker jo...! dårlig vane!

Hmm... hvordan vil den kode som du vil bruge til at checke om folk har været online i mere end 20 min (som skal indkluderes...) se ud...


ka ik lige skrive scriptet... men du åbner sæ'føli først din DB, så
siger du noget med "update set sidst_online = 'online' where datediff('n', db_date,Now()) > 20

sådan noget lignende...



ka ik lige skrive scriptet... men du åbner sæ'føli først din DB, så siger du noget med "update set sidst_online = 'online' where datediff('n', db_date,Now()) > 20

sådan noget lignende...


Ok takker... kigger lige lidt på det, eller forhører mig hos nolge andre :)



ka ik lige skrive scriptet... men du åbner sæ'føli først din DB, så siger du noget med "update set sidst_online = 'online' where datediff('n', db_date,Now()) > 20

sådan noget lignende...

Ok takker... kigger lige lidt på det, eller forhører mig hos nolge andre :)


I orden! her er en linie at lege med...


mysql_query("UPDATE users SET profil_status = 'offline' WHERE datediff('n', [dit sidst_online felt],Now()) > 20'");



ka ik lige skrive scriptet... men du åbner sæ'føli først din DB, så siger du noget med "update set sidst_online = 'online' where datediff('n', db_date,Now()) > 20

sådan noget lignende...

Ok takker... kigger lige lidt på det, eller forhører mig hos nolge andre :)

I orden! her er en linie at lege med...


mysql_query("UPDATE users SET profil_status = 'offline' WHERE datediff('n', [dit sidst_online felt],Now()) > 20'");



Takker :)
Har bare ikke fået sidste_login til at virke endnu... Får ingen fejlmeddelelse... :S



<< < 12 > >>
t