Avatar billede fjollerik Nybegynder
04. januar 2007 - 17:57 Der er 9 kommentarer

hits med ip og hvor mange online

hej exp'er!
Jeg har set på en hjemmeside at når jeg logger ind på den så kommer står der min ip + der står at 1 er online!!
Er det noget man kan lave selv?
jeg står og vil gerne bruge et script eller noget som kan vise at min ven er på siden eller at jeg er inde (f.eks. kan den se det er min ip så den skriver "navn online" på siden)

prøv lige og tjek dette billede.. det er fra hjemmesiden hvor jeg fandt det der med hvor jeg kom online..
http://ptp.yellowside.dk/hits-med-ip-og-hvor-mange-online.bmp

håber i kan hjælpe mig
Avatar billede simplus Nybegynder
04. januar 2007 - 18:03 #1
Det kan nemt laves i php, hvis du har adgang til det på din hjemmeside? - En MySQL database er også en fordel, men det kan laves uden. Dog ikke til at anbefale!

Et tip er at du ikke bør vise alles ip adresse på nettet da mange helst vil være anonyme på et site. Det er okay at administratoren af siden ved det, men at alle og enhver kan se ens ip er ikke smart. Man bør give folk et valg. Det bedste du kan gøre er at skjule de sidste 3 cifre eller lignene. Måske bare udskifte dem med et 'x'. Det gør www.udvikleren.dk f.eks. brug af.
Avatar billede simplus Nybegynder
04. januar 2007 - 18:04 #2
Et direkte link fra udvikleren: http://www.udvikleren.dk/OnlineUsers.aspx
Avatar billede dandyman Nybegynder
04. januar 2007 - 18:05 #3
Hvis du vil udskrive brugerens ip adresse kan du gøre sådan her i php:

<? echo "Din ip er: {$_SERVER['REMOTE_ADDR']}"; ?>
Avatar billede fjollerik Nybegynder
04. januar 2007 - 18:05 #4
oka..! go idé med det tip der..
jo jeg har php og kan da lidt MySQL.. så hvis du har noget på hjertet som du vil dele med mig vil jeg gerne have noget ;D
Avatar billede fjollerik Nybegynder
04. januar 2007 - 18:08 #5
ja mann!!
http://www.udvikleren.dk/OnlineUsers.aspx er lidt den stil jeg ønsker det.. er det svært at lave ?
Avatar billede dandyman Nybegynder
04. januar 2007 - 18:14 #6
Tja først kunne du jo starte med at oprette en tabel i din database f.eks kalde den online, med 3 felter
id, int(10), auto_inc, primary
ip, varchar(15)
last, int(20)

På alle dine sider kan du så include en fil der
Først tjekker om ip'en findes i tabellen, hvis den gør update last til time();
ellers indset ip => $_SERVER['REMOTE_ADDR'], last => time();

når du så skal vise siden med brugere skal du bruge denne sql query:
"SELECT * FROM `online` WHERE `last` > ".time()-300.""
Avatar billede simplus Nybegynder
04. januar 2007 - 18:27 #7
Nej det er ikke spor svært..

dette indsætter du på alle dine sider med indhold:

<?php
    //Brugerens IP gemmes i variablen $ip
    $ip = mysql_real_escape_string($_SERVER['REMOTE_ADDR']);

    //Vi tjekker om brugeren allerede findes i tabellen
    $tjek_ip = mysql_query("SELECT COUNT(*) AS antal FROM online WHERE ip='$ip'") or die(mysql_error());

    //Hvis brugeren ikke findes i tabellen, vil brugeren blive oprettet der, med den nuværende tid og brugerens ip.
    //Hvis brugerens tid allerede findes i tabellen, vil denne blot blive opdateret.
    if(!mysql_result($tjek_ip,0)) {
    mysql_query("INSERT INTO online (time, ip) VALUES (NOW(),'$ip')") or die(mysql_error());
    } else {
    mysql_query("UPDATE online SET time=NOW() WHERE ip='$ip'") or die(mysql_error());
    }

    //Her sletter vi alle brugere som ikke har været online i 2 minutter
    mysql_query("DELETE FROM online WHERE date_add(time,interval 2 MINUTE) < NOW()") or die(mysql_error());
?>

sådan udskrives det igen:

    <?php

    //Vi tæller antallet af brugere/rækker i tabellen
    $antal_online = mysql_query("SELECT COUNT(*) AS antal FROM online") or die(mysql_error());

    //Vi udskriver det fundne antal brugere
    echo mysql_result($antal_online,0) . "&nbsp;Brugere online";

    echo "<br>Din nuværene ip: ".$_SERVER['REMOTE_ADDR'];

    ?>


der skal så bare lige laves en tilhørene tabel..

ovenstående virker og jeg bruger det selv på min side - som pt er inaktiv!
Avatar billede fjollerik Nybegynder
02. februar 2007 - 09:15 #8
omg! har ikk haft så meget tid ved computeren til at teste det!! studere alt for meget :( men jeg tester lige i weekenden :)
Avatar billede fjollerik Nybegynder
01. maj 2007 - 11:11 #9
simplus smider su svar :P
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
Kurser inden for grundlæggende programmering

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