Avatar billede crolesen Nybegynder
12. januar 2007 - 00:31 Der er 6 kommentarer og
2 løsninger

Se hvor mine brugere har været på og i hvor lang tid

Hej

Jeg vil gerne have det så at jeg kan se hvornår mine brugere har været på.
Men jeg kan slet ikke komme igang.

Er der nogle der kan hjælpe mig her???

Har et brugersystem i mysql

Christian
Avatar billede michaeltryl Seniormester
12. januar 2007 - 00:41 #1
vil du bare tjekke hvornår de loggede på eller hvornår de sidst loggede af eller er det noget 3. du ønsker
Avatar billede crolesen Nybegynder
12. januar 2007 - 00:51 #2
Jeg vil bare vide hvornår f.eks Hans eller Peter loggede på og fra hvilken ip.

I min database har jeg

id
navn
Brugernavn
Adgangskode

Hvis man kan se hvornår de loggede af, eller hvor lang tid de har været på, vil det være super. Men ellers bare hvornår de loggede på og med hvilken ip?
Avatar billede michaeltryl Seniormester
12. januar 2007 - 01:00 #3
du laver to ekstra felter i din database
Ip
login_tid

i det script du bruger til at logge brugeren ind med sætter du følgende update af disse to felter.

$ip = $_SERVER['REMOTE_ADDR'];
mysql_query("UPDATE tabel SET ip ='$ip', login_tid= NOW() WHERE brugernavn='$brugernavn'") or die(mysql_error());

Husk at sætte den efter du har tjekket om det er ok brugeren bliver logget ind.
Avatar billede michaeltryl Seniormester
12. januar 2007 - 01:02 #4
ups du skal gøre det lige inden de logger af hvis du vil have deres log af tid
Avatar billede michaeltryl Seniormester
12. januar 2007 - 01:17 #5
en anden ting er hvis brugeren vælger ikke at trykke på logud vil ovnstående løsning ikke være nok så derfor kan du vælge istedet at køre denne update hver gang brugeren indlæser en side.

f.eks
når brugeren logger ind sætter du hans ip adresse ind i databsen
med
$ip = $_SERVER['REMOTE_ADDR'];
mysql_query("UPDATE tabel SET ip ='$ip', WHERE brugernavn='$brugernavn'") or die(mysql_error());

i din connect sætter du så
mysql_query("UPDATE tabel SET login_tid= NOW() WHERE brugernavn='$brugernavn'") or die(mysql_error());

så hver gang brugeren logger ind får du hans ip adresse gemt i databasen og hver gang han loader en ny side opdateres tiden i hans database. på den måde har du altid den sidste aktivitets tid af brugerne.

ip feltet i databsen skal være af typen varchar
og login_tid skal være typen datetime

håber du forstår ellers må du spørge. jeg hoppper i seng nu men kigger på det i morgen hvis det driller:-)
Avatar billede crolesen Nybegynder
12. januar 2007 - 01:23 #6
Tak for det, det er super godt. Du får dine point + flere hvis du kan hjælpe mig med lidt login

Det login jeg bruger, er et jeg har fået af en af mine venner. Men jeg kunne godt tænke mig et loginsystem der kan lidt mere.

Jeg kunne godt tænke mig at når mine brugere tilmeldte de sig, og deres data blev ført ind i databasen. Men at jeg stadigvæk på en eller anden måde skal godkende dem før de kan logge ind. Det skal være sådan så jeg ikke behøves manuelt at indsætte deres data.

Christian
Avatar billede phliplip Nybegynder
12. januar 2007 - 09:47 #7
Christian: Hvis du vil godkende dem laver du et status_id tinyint(1) felt i din bruger database, og bestemmer hvilken tal der skal være hvad.

Muligheder;
1: Godkendt
2: Deaktiveret
3: Slettet
4: Afventer godkendelse

Dit script der opretter brugeren skal så bare sætte status_id=4.. så kan du i din admin liste alle brugere med status=4 eller bare kigge databasen direkte vha. phpMyAdmin!
Avatar billede michaeltryl Seniormester
12. januar 2007 - 11:48 #8
ja når brugeren så logger ind tjekker du om status_id er = 1 ellers må de ikke logge ind
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