15. marts 2006 - 23:28Der er
26 kommentarer og 2 løsninger
Hente oplysninger fra brugerens computer!
Hej eksperter,
Jeg arbejder paa et statistik system, hvor jeg vil hente brugerens Browser-opslysninger samt skaerm-opslyninger.
Jeg fandt funktionen get_browser() som giver mig en del af den information jeg har brug for, men jeg mangler dog stadig brugerens skaerm opsloesning. Er det muligt at hente en brugers skaerm oploesning med PHP?
Der ud over taenkte jeg paa om det er mugligt at hente informatin om hvor brugeren kom fra, altsaa siden som brugeren var paa foer han kom in paa min side.
Så vidt jeg ved, kan PHP ikke direkte få adgang til brugerens skærmopløsning.
Jeg har altid brugt et Javascript-workaround, hvor du laver noget lignende: document.location.href="<?php echo $_SERVER['PHP_SELF']; ?>?width="+screen.width+"&height="+screen.height;
Hvor du så henter de to variabler i PHP, via $_GET['width'] og $_GET['height'].
eller også så laver du et usynligt billede som får sin src fra en javascript der smider opløsningen med... eks document.getElementById('img').src ='stats.php?w='+screen.width+'&h='+screen.height;
antallet af personer som ikke har javascript er nu begrænset, du kunne jo lave så bileddet normalt pegede på stats.php og så tjekke om der kort tid efter kom samme request bare med ?w=lala&h=lala sat på...
Jeg testede koden, og som det staar kan jeg ikke faa den til at virke. Jeg har testet PHP delen af scriptet, ved at sende noejagtig samme url til stats.php og det blev skrevet i databasen uden problemer, saa der er noget ved koden der ikke virker. Jeg smider denne kode i head: <script type="text/javascript"> document.onload = function() { document.getElementById('statsimg').src ='stats.php?w='+screen.width+'&h='+screen.height+'&platform='+navigator.platform+'&browser='+navigator.appCodeName+'&sprog='+navigator.language+'&version='+navigator.vendor'; } </script> og denne i body: <img src="stats.php" id="statsimg" style="display: none;">
Du smider de to koder paa siden som du vil have statistikken fra, right? Det eneste der sker er at der bliver indsat en tom raekke i min database, fordi der ikke er nogen data der bliver sendt fra scriptet.
Hvordan saetter du koderne op? begge i body eller en i head og <img> i body?
ok, window.onload hjalp, for nu bliver der gemt noget i databasen.
Men det er nu stadig lidt underligt, fordi, selv om jeg aabner siden i IE, saa skriver den mozilla i databasen, men den kan dog ikke give mig sprog eller version (firefox).
Jeg har baade IE og firefox paa min computer, men skulle den ikke abre raportere info for den browser, som siden bliver aabnet med?
$info['browser'] = $parent; $info['version'] = $version; break; // first match wins } }
return $info; }
//hent funktion ind i script _get_browser(); ?>
Synes godt om
Ny brugerNybegynder
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.