Avatar billede elskermad.dk Nybegynder
14. juli 2004 - 13:23 Der er 17 kommentarer og
1 løsning

statestik script

hej eksperter :)

jeg er i gang med at lave mit eget statestiksystem da mit webhotel ikke kan tilbyde det på en måde jeg kan bruge! :(

men jeg kan ikke rigtig få det til at virke... henter oplysningerne med javascript, men det er ligesom den ikke sender oplysningerne videre til /statestik/index.php hvor noget PHP sætter det ind i en mysql-database...

min kode ser således ud:
    <script language='javascript' type='text/javascript'>
        var ref=""+escape(top.document.referrer);   
        var thispage; thispage = window.document.URL;
       
        var vinInnerheight = window.innerHeight;
        var vinInnerwidth = window.innerWidth;
        var vinOuterheight = window.outerHeight;
        var vinOuterwidth = window.outerWidth;
       
        var platforn = navigator.platform;
        var browSprog = navigator.language;
        var javas = navigator.javaEnabled();
       
        var browNavn = navigator.appName;
        var browVers = navigator.appVersion;
        var browCode = navigator.appCodeName;
        var BrowAgent = navigator.userAgent;
       
        if (browNavn != 'Netscape') {
            far=screen.colorDepth
        }
        else {
            far=screen.pixelDepth
        }
       
        var x;
        x += 'ref=' + ref + '&amp;';
        x += 'page=' + thispage + '&amp;';
        x += 'innerheight=' + vinInnerheight + '&amp;';
        x += 'innerwidth=' + vinInnerwidth + '&amp;';
        x += 'outerheight=' + vinOuterheight + '&amp;';
        x += 'outerwidth=' + vinOuterwidth + '&amp;';
        x += 'platform=' + platform + '&amp;';
        x += 'sprog=' + browSprog + '&amp;';
        x += 'javascript=' + javas + '&amp;';
        x += 'brownavn=' + browNavn + '&amp;';
        x += 'browcode=' + browCode + '&amp;';
        x += 'browvers=' + browVers + '&amp;';
        x += 'browagent=' + BrowAgent + '&amp;';
        x += 'farve=' + far;
       
        document.write(\"<img height='1' width='1' border='0' src='/statestik/index.php?js=true&\" + x + \"'>\");
    </script>
    <noscript>
        <img height='0' width='0' border='0' src='/statestik/index.php?js=false'>
    </noscript>

hvorfor bliver det ikke sendt afsted til /statestik/index.php ? (filen findes og hvis jeg loader den fil selv indsætter den en række i databasen så ikke der fejlen ligger!

Evt. flere oplysninger der kunne fanges med javascript kunne godt ønskes! :)

på forhånd tak!
Avatar billede erikjacobsen Ekspert
14. juli 2004 - 13:34 #1
Hvorfor er der \" i
  document.write(\"<img height='1' width='1' border='0' src='/statestik/index.php?js=true&\" + x + \"'>\");

Og så må du ellers også lære at stave til platform.  ;)
Avatar billede erikjacobsen Ekspert
14. juli 2004 - 13:38 #2
Og så skal du også
  var x="";
Avatar billede elskermad.dk Nybegynder
14. juli 2004 - 15:54 #3
der er\" i da den bliver skrevet med PHP... kan det "ødelægge" scriptet!?

hehe ja, en nydansk ordbog ville falde tungt hos mig ! ;D

prøver lige at ændre x
Avatar billede elskermad.dk Nybegynder
14. juli 2004 - 16:03 #4
prøvede at ændre lidt på det med \" så nu sætter den ind i databasen, men ikke nogen af de ting jeg har sat i javascript!

index.php ser sådan her ud:
<?

session_start();

@mysql_connect ("xxxxxxxx","xxxxxx","xxxxxx");
@mysql_select_db ("xxxxxxxx")
or die ("Da sidens MySQL-database ikke er tilgængelig kan siden ikke vises!<br><br>" . mysql_error());

$stat_ip             = $_SERVER['REMOTE_ADDR'];

$stat_ref            = $_GET[ref];
$stat_page            = $_GET[page];
$stat_innerheight    = $_GET[innerheight];
$stat_innerwidth    = $_GET[innerwidth];
$stat_outerheight    = $_GET[outerheight];
$stat_outerwidth    = $_GET[outerwidth];
$stat_platform        = $_GET[platform];
$stat_sprog            = $_GET[sprog];
$stat_javascript    = $_GET[javascript];
$stat_brownavn        = $_GET[brownavn];
$stat_browcode        = $_GET[browcode];
$stat_browvers        = $_GET[browvers];
$stat_browagent        = $_GET[browagent];
$stat_farve            = $_GET[farve];

$stat_time            = time();

if ($_GET[js] == true) {
    mysql_query("insert into statestik (ref,page,innerheight,innerwidth,outerheight,outerwidth,platform,sprog,brownavn,browcode,browagent,browvers,javascript,farve,ip,tidspunkt) values ('$stat_ref','$stat_page','$stat_innerheight','$stat_innerwidth','$stat_outerheight','$stat_outerwidth','$stat_platform','$stat_sprog','$stat_brownavn','$stat_browcode','$stat_browagent','$stat_browvers','$stat_javascript','$stat_farve','$stat_ip','$stat_time')") or die(mysql_error());
}
else {
    // sætte andet ind
}

?>
Avatar billede elskermad.dk Nybegynder
14. juli 2004 - 16:04 #5
det eneste der sættes ind er tidspunkt og ip, og det er fordi de bliver sat med PHP
Avatar billede erikjacobsen Ekspert
14. juli 2004 - 16:18 #6
Det kommer an på hvad der står i dit script.
Og iøvrigt staves det: statistik
Avatar billede elskermad.dk Nybegynder
14. juli 2004 - 16:21 #7
du har det hele nu... både index.php som bliver taget med i den <img, og koden som laver det billede!

(hehe jeg styrer bare stavning idag ;D)
Avatar billede erikjacobsen Ekspert
14. juli 2004 - 16:29 #8
Nej, det har jeg ikke. Du har jo lavet rettelser i dit Javascript. Dette er mig
bekendt ikke en gættekonkurrence. Ikke fordi det nødvendigvis betyder noget, men
jeg gider ikke glo på noget kode, der ikke er det, der rent faktisk kører.
Avatar billede elskermad.dk Nybegynder
14. juli 2004 - 16:35 #9
oki så smider jeg lige rettelserne med op! :)

index.php
<?

session_start();

@mysql_connect ("xxxxxxxx","xxxxxxxx","xxxxxxx");
@mysql_select_db ("xxxxxxx")
or die ("Da sidens MySQL-database ikke er tilgængelig kan siden ikke vises!<br><br>" . mysql_error());

$stat_ip             = $_SERVER['REMOTE_ADDR'];

$stat_ref            = $_GET[ref];
$stat_page            = $_GET[page];
$stat_innerheight    = $_GET[innerheight];
$stat_innerwidth    = $_GET[innerwidth];
$stat_outerheight    = $_GET[outerheight];
$stat_outerwidth    = $_GET[outerwidth];
$stat_platform        = $_GET[platform];
$stat_sprog            = $_GET[sprog];
$stat_javascript    = $_GET[javascript];
$stat_brownavn        = $_GET[brownavn];
$stat_browcode        = $_GET[browcode];
$stat_browvers        = $_GET[browvers];
$stat_browagent        = $_GET[browagent];
$stat_farve            = $_GET[farve];

$stat_time            = time();

if ($_GET[js] == true) {
    mysql_query("insert into statestik (ref,page,innerheight,innerwidth,outerheight,outerwidth,platform,sprog,brownavn,browcode,browagent,browvers,javascript,farve,ip,tidspunkt) values ('$stat_ref','$stat_page','$stat_innerheight','$stat_innerwidth','$stat_outerheight','$stat_outerwidth','$stat_platform','$stat_sprog','$stat_brownavn','$stat_browcode','$stat_browagent','$stat_browvers','$stat_javascript','$stat_farve','$stat_ip','$stat_time')") or die(mysql_error());
}
else {
    // sætte andet ind
}

?>


javascript-koden som indsættes på alle siderne:
    <div style='display:none'>
    <script language='javascript' type='text/javascript'>
        var ref=""+escape(top.document.referrer);   
        var thispage; thispage = window.document.URL;
       
        var vinInnerheight = window.innerHeight;
        var vinInnerwidth = window.innerWidth;
        var vinOuterheight = window.outerHeight;
        var vinOuterwidth = window.outerWidth;
       
        var platform = navigator.platform;
        var browSprog = navigator.language;
        var javas = navigator.javaEnabled();
       
        var browNavn = navigator.appName;
        var browVers = navigator.appVersion;
        var browCode = navigator.appCodeName;
        var BrowAgent = navigator.userAgent;
       
        if (browNavn != 'Netscape') {
            far=screen.colorDepth
        }
        else {
            far=screen.pixelDepth
        }
       
        var x = '';
        x += 'ref=' + ref + '&amp;';
        x += 'page=' + thispage + '&amp;';
        x += 'innerheight=' + vinInnerheight + '&amp;';
        x += 'innerwidth=' + vinInnerwidth + '&amp;';
        x += 'outerheight=' + vinOuterheight + '&amp;';
        x += 'outerwidth=' + vinOuterwidth + '&amp;';
        x += 'platform=' + platform + '&amp;';
        x += 'sprog=' + browSprog + '&amp;';
        x += 'javascript=' + javas + '&amp;';
        x += 'brownavn=' + browNavn + '&amp;';
        x += 'browcode=' + browCode + '&amp;';
        x += 'browvers=' + browVers + '&amp;';
        x += 'browagent=' + BrowAgent + '&amp;';
        x += 'farve=' + far;
       
        document.write("<img height='0' width='0' border='0' src='/statestik/index.php?js=true&\" + x + \"'>");
    </script>
    <noscript>
        <img height='0' width='0' border='0' src='/statestik/index.php?js=false'>
    </noscript>
    </div>
Avatar billede erikjacobsen Ekspert
14. juli 2004 - 17:23 #10
document.write("<img height='0' width='0' border='0' src='/statestik/index.php?js=true&" + x + "'>");
Avatar billede elskermad.dk Nybegynder
14. juli 2004 - 17:33 #11
sådan nu sker der noget :)

innerheight
innerwidth
outerheight
outerwidth
sprog

bliver nævnt som undefined, hvorfor siger den det?
Avatar billede elskermad.dk Nybegynder
14. juli 2004 - 17:40 #12
browsernavn: Microsoft Internet Explorer
browsercode: Mozilla
browservers: 4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1
browseragent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET

dette er hvad javascript finder frem...
har du tid til at hjælpe mig lidt med de ting?

hvorfor siger browsercode at det er en Mozilla? jeg har anvendt IE som også står under browsernavn...

hvis jeg skal bruge det til stat_i_stik er det så nok at jeg gemmer browseragent? ser ud til at alle oplysningerne fra de 3 andre er gemt i den?

farver viser 32, der mener den vel 32bit? hvad kan der være angivet der? 2,8,16,256,16bit og 32bit?
Avatar billede elskermad.dk Nybegynder
14. juli 2004 - 18:12 #13
jeg har fået innerheight og innerwidth til at virke nu (virkede vist ikke i IE) men de andre 3 kan jeg stadig ikke få til at virke :(
Avatar billede elskermad.dk Nybegynder
14. juli 2004 - 18:17 #14
så nu er sprog skam os med :] det er jo bare helt vildt som jeg kan *GG*
Avatar billede erikjacobsen Ekspert
14. juli 2004 - 18:27 #15
Jeg ved såmænd ikke hvad man kan aflæse i de forskellige browsere - det må hellere selv bikse med.
Avatar billede elskermad.dk Nybegynder
14. juli 2004 - 18:30 #16
okay, jeg siger mange tak for hjælpen! :)

vil du have point?
Avatar billede erikjacobsen Ekspert
14. juli 2004 - 18:33 #17
Nej tak.
Avatar billede elskermad.dk Nybegynder
14. juli 2004 - 18:34 #18
hehe tænkte jeg nok (desværre) så nupper jeg dem selv! takker igen... :)
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