Avatar billede znopie Nybegynder
28. marts 2008 - 14:18 Der er 4 kommentarer og
1 løsning

Hjælp til statisik på andre hjemmesider

Hej alle,

Jeg er igang med at lave min egen lille statistik ala charts, hvor jeg kan integrere(lægges ind) på mine andre hjemmesider ved at bruge <script type="text/javascript" src="http://www.MIN_HJEMMESIDE.dk/?domain=STATISTIK_OVER_DOMÆNE.dk"></script>

Mit problem er så at jeg gerne vil kunne hente nogle oplysninger f.eks. henvisningen(Hvordan kommer folk ind på siden), GoogleBot besøg osv., men hvordan kan jeg hente de oplysninger ud fra en anden server som f.eks. ikke har php?

Indtil videre ser min kodning sådan her ud, men den henter informationerne fra min egen server.

Min kode er lidt rodet, men bliver ordnet når jeg engang har fået læst problemet.

<?php /* START */   
    /* MySQL: domain_id, visitor_ip, visitor_referrer, timestamp, domain */
   
if ($_GET['domain']) {
        /* ########## ONLINE NUMBER ########## */
    $visit_online = mysql_query("SELECT COUNT(*) FROM `old_domain` WHERE domain = '".addslashes($_GET['domain'])."' AND date_add(timestamp,interval 60 SECOND) > NOW()");
    $visit_online = mysql_result($visit_online, 0);
   
        /* ########## PRINT INTO DATABASE ########## */
    $other  = "Hjemmeside navn: ".$_SERVER['HTTP_HOST']."\n\r";                    // = Hjemmeside navn
    $other .= "Hjemmeside status: ".$_SERVER['REDIRECT_STATUS']."\n\r";            // = Status på hjemmeside
    $other .= "Fil navn: ".$_SERVER['HTTP_REFERER']."\n\r";                        // = henvisning
    $other .= "Browser: ".$_SERVER["HTTP_USER_AGENT"]."\n\r";                    // = Brugerens browser   

    $LOOK_UP = mysql_query("SELECT * FROM `old_domain` WHERE visitor_ip = '".$_SERVER['REMOTE_ADDR']."' AND domain = '".addslashes($_GET['domain'])."'");
        if (mysql_num_rows($LOOK_UP) == NULL) {
            mysql_query("INSERT INTO `old_domain` SET visitor_ip = '".$_SERVER['REMOTE_ADDR']."', visitor_referrer = '".$_SERVER['HTTP_REFERER']."', domain = '".addslashes($_GET['domain'])."', other = '".$other."', timestamp = NOW()") OR DIE( mysql_error() );
        } else {
            mysql_query("UPDATE `old_domain` SET visitor_referrer = '".$_SERVER['HTTP_REFERER']."', other = '".$other."', timestamp = NOW() WHERE domain = '".addslashes($_GET['domain'])."' AND visitor_ip = '".$_SERVER['REMOTE_ADDR']."'") OR DIE( mysql_error() );
        }
       
        /* ########## ADMIN INFO ########## */   
    } elseif ($_GET['p'] == "admin") {
    $GET_DOMAIN = mysql_query("SELECT * FROM `old_domain` ORDER BY timestamp DESC");
    echo "<table width=\"100%\" cellpadding=\"2\" cellspacing=\"1\" bgcolor=\"#C9AF7E\" align=\"center\" style=\"position:relative;max-width:100%;\">\n\r";
    echo "<tr bgcolor=\"#C9AF7E\"><th width=\"2%\">Nr.</th><th width=\"15%\">IP</th><th width=\"30%\">URL</th><th width=\"13%\">Tidspunkt</th><th width=\"4%\">Hjemmeside</th><th>Andet</th></tr>\n\r";
        while($SHOW_links = mysql_fetch_array($GET_DOMAIN)) {
            echo "<tr bgcolor=\"#EDDEAD\">";
                echo "<td>".$SHOW_links['domain_id']."</td>\n\r";
                echo "<td>".$SHOW_links['visitor_ip']."</td>\n\r";
                echo "<td>".$SHOW_links['visitor_referrer']."</td>\n\r";
                echo "<td>".$SHOW_links['timestamp']."</td>\n\r";
                echo "<td>".$SHOW_links['domain']."</td>\n\r";
                echo "<td>".nl2br($SHOW_links['other'])."</td>\n\r";
            echo "</tr>";
        }
    echo "</table>\n\r";

}

/* END */ ?>

ps. Jeg vil ikke benytte google analytic da den kun opdatere hvert 24 time. Den jeg vil lave er opdaterende med det samme man trykket F5
Avatar billede znopie Nybegynder
30. marts 2008 - 10:03 #1
ingen der kan hjælpe?
Avatar billede bavingo Nybegynder
30. marts 2008 - 18:55 #2
Altså, den metode jeg selv bruger til at hente oplysninger fra andre servere, er at indsætte et GDlib baseret billede ind på deres hjemmeside. Det kan sådan set fylde 1*1 pixel og være samme farve som siden og på den måde ikke ses.
Fra det billede kan jeg så gemme alle de oplysninger jeg kunne ønske mig fra brugeren.
Avatar billede olebole Juniormester
30. marts 2008 - 19:04 #3
<ole>

Der er ingen grund til at blande GDLib ind i billedet. Det kan bare være en ganske alm. transparent 1*1px gif:
    <img src="http://www.domain.sti/til/fil.php" alt="statistik">

- og i 'fil.php':

<?php
// Hent info her og indsæt i DB
header("Location: my_stat_pic.gif");
?>

- simple as that  ;o)

/mvh
</bole>
Avatar billede znopie Nybegynder
30. marts 2008 - 21:25 #4
Jamen hvordan kan jeg så hente henvisninger ud?

Jeg har prøver at kigge lidt på javascript med funktionen document.referrer, men den bliver for lang.

Vil helt holde mig til at bare ligge <script type="text/javascript" src="http://www.MIN_HJEMMESIDE.dk/?domain=STATISTIK_OVER_DOMÆNE.dk"></script> ind på www.eksempel1.dk, og så kan jeg gå ind på www.eksempel2.dk og se hvor brugerne kommer fra, hvornår google sidst har vært der, hvem er online (har fundet ud af det med online) osv.

Hvis i forstår mig.

Det jeg sådan set vil er at lave min egen lille statistik host, hvor jeg kan oprette nogle domæner, som jeg så kan lave statistik over.

Hvis der kommer flere svar herinde, hvor et af dem er det rigtige vil der blive givet 200 points for hjælpen.

- Znopie
Avatar billede znopie Nybegynder
30. marts 2008 - 21:29 #5
Det eneste jeg sådan set skal bruge er bare et fuldt eksempel(kode der virker) på hvordan jeg kan hente henvisningen ud (Set fra java script: document.referrer) fra en anden hjemmeside i php. Så det eneste der skal ligges ind på den anden hjemmeside er
<script type="text/javascript" src="http://www.MIN_HJEMMESIDE.dk/?domain=STATISTIK_OVER_DOMÆNE.dk">
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