login  Naam:   Wachtwoord: 
Registreer je!
 Forum

schermresolutie weergeven in php

Offline thomh - 08/08/2008 17:52
Avatar van thomhNieuw lid hallo

hoe moet ik een schermresolutie laten weergeven in php, die bij tutorials stond bedoel ik niet echt.
En ik wil dat het schermresolutie wordt opgeslagen in TXT file

Hoe moet ik dit maken 

36 antwoorden

Gesponsorde links
Offline Stijn - 08/08/2008 18:04
Avatar van Stijn PHP expert PHP is serverside en kan niet clientside instructies gaan uitvoeren. Met javascript kan je dit wel opvragen en dan mbv PHP weg gaan schrijven in een bestand.

Google.be: javascript + resolutie
Google.be: javascript in PHP
Offline thomh - 08/08/2008 18:13 (laatste wijziging 08/08/2008 19:16)
Avatar van thomh Nieuw lid hoe krijg ik die java script in php zodat hij het weg kan schrijven. hij bij wil ik gebruik maken van een txt file en geen Mysql

  1. <?
  2. echo "<script language='javascript'>\n";
  3. echo "var sw;\n";
  4. echo "sw = screen.width;";
  5. echo "document.write(sw);";
  6. echo "</script>";
  7. ?>
  8.  
  9. <?
  10. echo "<script language='javascript'>\n";
  11. echo "var sw;\n";
  12. echo "sw = screen.height;";
  13. echo "document.write(sw);";
  14. echo "</script>";
  15. ?>
  16.  
  17. <?
  18. $sr = "sw = screen.width;";
  19. $sb = "sw = screen.height;";
  20. $file = "sr.txt";
  21. $open = fopen( $file, "a" ) or die ( "Operation Failed!" );
  22. fputs( $open, "$sr X $sb" );
  23. fclose( $open );
  24. ?>

ik heb dit dan gemaakt maar dat werkt maar jullie zijn ook niet echy duidelijk  
Offline PRO - 09/08/2008 12:08
Avatar van PRO JS interesse in dit geval zul je eerst de pagina moeten refreshen. dat is NO go.
Waarom?

Het request komt als eerste bij de server uit, die voert de PHP code uit en stuurt het naar de browser. In de browser staat ook een script om te checken wat de resolutie is, maar dan weet de server niet wat de resolutie is, omdat hij niet meer bij de server uitkomt. Je kan de pagina refreshen in een mini iframe... of ajax gebruiken om de boel snel door te posten naar de server.
Offline vinTage - 09/08/2008 12:49 (laatste wijziging 09/08/2008 12:57)
Avatar van vinTage Nieuw lid Hiero, ik was toch ff verveeld:

index:
  1. <script type="text/javascript">
  2.  
  3. function createRequestObject()
  4. {
  5. var req;
  6. if(window.XMLHttpRequest)
  7. {
  8. req = new XMLHttpRequest();
  9. }
  10. else if(window.ActiveXObject)
  11. {
  12. req = new ActiveXObject("Microsoft.XMLHTTP");
  13. }
  14. else
  15. {
  16. alert('Problem creating the XMLHttpRequest object');
  17. }
  18. return req;
  19. }
  20.  
  21. var http = createRequestObject();
  22.  
  23. function sendRequestTest()
  24. {
  25. http.open('get', 'resoluties.php?breed='+screen.width+'&hoog='+screen.height);
  26. http.onreadystatechange = handleResponseTest;
  27. http.send(null);
  28. }
  29.  
  30. function handleResponseTest()
  31. {
  32. if(http.readyState == 4 && http.status == 200)
  33. {
  34. if(http.responseText)
  35. {
  36. //alert(http.responseText);
  37. document.getElementById('resolutie').innerHTML = http.responseText
  38. }
  39. }
  40. }
  41. </script>
  42.  
  43. <body onload="sendRequestTest()">
  44. <div id="resolutie"><!hier komt vanzelf de resolutie in te staan --></div>
  45. </body>


resoluties.php
  1. <?php
  2. $blaat = fopen('resoluties.txt', 'a+');
  3. fwrite($blaat, "breed: ".$_GET['breed']." hoog: ".$_GET['hoog']."\r\n");
  4. fclose($blaat);
  5.  
  6. echo "breed: ".$_GET['breed']." hoog: ".$_GET['hoog'];
  7. ?>


Er word een tekstbestand weggeschreven met de naam resoluties.txt.

Gebruik gemaakt van deze tut

Edit:
Ik zou wel een session starten en als die sessie niet bestaat, dan pas wegschrijven, anders krijg je voor elke hit een entry in het textbestand.
Offline thomh - 09/08/2008 18:45
Avatar van thomh Nieuw lid ik wil voor elke hit een entry zodat ik in een grafiek kan bijhouden hoeveel mensen die resolutie hebben wat moet ik dan aanpassen maar voor de rest werkt hij prima

bedankt
Offline vinTage - 09/08/2008 19:45
Avatar van vinTage Nieuw lid Als je voor elke hit een entry zet krijg je alleen maar oneerlijke resultaten...

Stel, 2 personen bezoeken je website
persoon 1: resolutie 1024*768
persoon 2: resolutie 800 * 768

persoon 1 (hoge resolutie) bekijkt 3 paginas
persoon 2 (lage reso) bekijkt alleen de index

Dan zou 75% van de bezoekers een hoge resolutie hebben terwijl dat eigenlijk maar 50% is.

Citaat:
ik wil voor elke hit een entry zodat ik in een grafiek kan bijhouden hoeveel mensen die resolutie hebben wat moet ik dan aanpassen maar voor de rest werkt hij prima


Het antwoord is vrij simpel....maak je design zo dat het voor iedereen goed is

Offline thomh - 09/08/2008 19:49
Avatar van thomh Nieuw lid nk wil voor iedere hit een entry maar ik gebruik die alleen op de index

maar wat moet ik veranderen in de scrip dat hij van iedere hit een enty maak
Offline Martijn - 09/08/2008 19:54
Avatar van Martijn Crew PHP '=/ waar moet je t zo persé per hit =/ per gebruiker is toch een veel solider resultaat?
Offline thomh - 09/08/2008 19:57 (laatste wijziging 09/08/2008 20:03)
Avatar van thomh Nieuw lid zeg nou maar gewoon wat ik moet veranderen
waarom moet het allemaal nou zo moeilijk
Offline Gerard - 09/08/2008 20:11
Avatar van Gerard Ouwe rakker Omdat het de bedoeling is dat jij er wat van leert, en dat je zelf aantoont dat je ook wil leren. Als wij hier allemaal zaten om dingen voor te kauwen en te voeren dan waren we wel vogels geworden.
Offline thomh - 09/08/2008 20:34
Avatar van thomh Nieuw lid zeg nou maar gewoon  
Offline Gerard - 09/08/2008 20:52
Avatar van Gerard Ouwe rakker Nee, ik doe het niet gewoon. En je hoeft voorlopig ook geen replies van mij te verwachten. Niet zolang jij deze instelling hebt. Ik hoop voor je dat Psycho dit niet leest, anders kan er goed een waarschuwing voor je aankomen.
Offline vinTage - 09/08/2008 21:14 (laatste wijziging 09/08/2008 21:17)
Avatar van vinTage Nieuw lid Het script wat ik gaf maakt al een entry voor ELKE hit (op de pag waar dat script staat).

Je instelling en manier van reageren tegen mede forumleden, die je proberen te vertellen dat zelf snappen beter is dan klakkeloos copieren, vind ik daarintegen belachelijk...ik heb al spijt dat ik dat scriptje maakte voor je..  
Offline thomh - 09/08/2008 22:04
Avatar van thomh Nieuw lid sorry dat ik zo reageerde 

maar ik heb het idee dat hij in ie niet echt lekker werk hij schrijft namelijks niks in de txt terwijl hij wet mozilla firefoxx wel werkt
Offline vinTage - 09/08/2008 22:07
Avatar van vinTage Nieuw lid kheb em wel getest met ie7 (niet met andere versies) en daar deed hij het goed..
Mss kan je gewoon ook $_SERVER['HTTP_USER_AGENT'] in de php file erbij verwerken, om te zien of het écht om IE gaat ?
Offline thomh - 09/08/2008 22:20 (laatste wijziging 09/08/2008 22:21)
Avatar van thomh Nieuw lid $_SERVER['HTTP_USER_AGENT'] ik heb dit erin gezet maar dan geeft hij een error

  1. <?php
  2. $blaat = fopen('resoluties.txt', 'a+');
  3. fwrite($blaat, "$_SERVER['HTTP_USER_AGENT'] breed: ".$_GET['breed']." hoog: ".$_GET['hoog']."\r\n");
  4. fclose($blaat);
  5.  
  6. echo "breed: ".$_GET['breed']." hoog: ".$_GET['hoog'];
  7. ?>
Offline vinTage - 09/08/2008 22:22 (laatste wijziging 09/08/2008 22:23)
Avatar van vinTage Nieuw lid
  1. fwrite($blaat, $_SERVER['HTTP_USER_AGENT']. " breed: ".$_GET['breed']." hoog: ".$_GET['hoog']."\r\n");



evt ook in de echo
Offline thomh - 09/08/2008 22:30
Avatar van thomh Nieuw lid hij schrijft wel maar als ik die html pagina met die javascript een 2e keer open word er niks bijgeschreven 
Offline vinTage - 09/08/2008 22:32 (laatste wijziging 09/08/2008 22:33)
Avatar van vinTage Nieuw lid in de txt file ook niet ????

in de "index" komt alleen je eigen reso te staan (door php/ajax) in de txt file staan ALLE resoluties van elke hit
Offline thomh - 09/08/2008 22:34 (laatste wijziging 09/08/2008 22:34)
Avatar van thomh Nieuw lid nee er word geen 2e keer in de txt file bijgeschreven

met firefox wel

wat is een reso 
Offline vinTage - 09/08/2008 22:35
Avatar van vinTage Nieuw lid resolutie
Offline thomh - 09/08/2008 22:48 (laatste wijziging 09/08/2008 22:49)
Avatar van thomh Nieuw lid ik ben ergens achter gekomen als ik mijn cookies verwijder dan schrijft hij met ie wel weer bij in de txt file.

wat moet of kan ik veranderen dat hij geen cookie maak
Offline vinTage - 09/08/2008 23:13
Avatar van vinTage Nieuw lid Geen idee waar die cookies vandaan komen, niet van mijn scriptje iig..
Offline thomh - 09/08/2008 23:15 (laatste wijziging 09/08/2008 23:19)
Avatar van thomh Nieuw lid tog is het zo als ik de cookies verwijder dan doet die script weer bij schrijven in de txt file

vin het zelf ook vaag

bestaat er buiten ajax ook een ander manier?
Offline vinTage - 10/08/2008 00:25
Avatar van vinTage Nieuw lid
thomh schreef:
tog is het zo als ik de cookies verwijder dan doet die script weer bij schrijven in de txt file

vin het zelf ook vaag

bestaat er buiten ajax ook een ander manier?


voor 25 euro maken we iets voor je (verstand op 0 en blind geloven)

te storten op 127.0.0.1
t.a.v vintage
Rabobank Tilburg
Offline Martijn - 10/08/2008 11:29 (laatste wijziging 10/08/2008 11:39)
Avatar van Martijn Crew PHP ik heb wellis gehad dat de 1e keer ie niets wegschreef en de 2e keer wel

ikzelf gebruik dit om dingen weg te schrijven

file put contents
  1. file_put_contents($Filename,$infoDieJeWilt);

Dan zou je dus even van tevoren $infoDieJeWilt moeten aanmaken.
Offline vinTage - 10/08/2008 12:09
Avatar van vinTage Nieuw lid Ben erachter, heeft niks met de php functie te maken, maar wel met het js script, verander de sendRequestTest functie naar onderstaande:

  1. function sendRequestTest()
  2. {
  3. var d = new Date();
  4. var t = d.getTime();
  5. http.open('get', 'resoluties.php?'+t+'&breed='+screen.width+'&hoog='+screen.height);
  6. http.onreadystatechange = handleResponseTest;
  7. http.send(null);
  8. }
Offline Martijn - 10/08/2008 12:16
Avatar van Martijn Crew PHP 'resoluties.php?'+t+'&breed=

mag ik vragen waarom je de t zo doet? hoe haal je m dr dan weer uit?
Offline vinTage - 10/08/2008 12:36
Avatar van vinTage Nieuw lid geewoon niet opvragen in php he...
Verder is het gewoon een unieke variable
Offline Martijn - 10/08/2008 13:20
Avatar van Martijn Crew PHP ik heb google analytics op mn site, en daarmee kan ik zien war de resoluties zijn (meeste 1028*778 = 45%)
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.229s