|
Ce script permet de récupérer la résolution d'écran en PHP sans avoir besoin de rafraîchir la page ! | ||||||||||||
| |||||||||||||
Le script fait tout automatiquement. Celui-ci récupère en javascript la résolution et une méthode ajax se charge d'appeler le script php pour l'ajouter dans une variable cookie afin que la résolution soit prise en compte sur toutes les pages de votre site web. | |||||||||||||
En ce qui concerne l'intégration, vous aurez juste besoin d'appeler le fichier resscreen.js sur la page d'index de votre site en faisant comme ceci : Les variables PHP qui seront à récupérer pour l'utilisation de la résolution sont les suivantes : $_COOKIE['res_width']; $_COOKIE['res_height']; Et voilà ni plus ni moins | |||||||||||||
Version 1.00 - 03/05/2011 à 11:19:33 - Release |
Merci pour ce tuto simple et efficace
j'avais une détection avec un location.href, mais cela n'était pas satisfaisant. Bravo !
j'ai mis les deux fichiers sur mon hebergement (vide) je suis aller sur le fichier index.php, rien ne s'affiche...
Merci ça marche nickel et ça évite le rechargement de la page.
First written long comment, then remove it. Just thank you
Génial. Je faisais ça avec du document.location et autre mais là c'est top merci de partager ça ;-)
Que te disent les logs de la réponse Ajax?
Tu peux le voir dans la console de Firebug
Merci beaucoup pour votre aide. Mais je dois vraiment être nul parce que ça ne fonctionne pas chez moi. :$
Pourriez-vous m'aider s'il vous plaît?
Je fais des test en local avec EasyPHP et le site tourne sous joomla.
Voici un extrait du fichier "index.php" de mon template:
Les fichiers resscren.php et resscreen.js sont inchangés.
La page affiche ceci :
Notice: Undefined index: res_width in C:Program Files (x86)EasyPHP5.2.10wwwAromasie emplatesOlivier_Zenindex.php on line 11
Notice: Undefined index: res_height in C:Program Files (x86)EasyPHP5.2.10wwwAromasie emplatesOlivier_Zenindex.php on line 11
x
Notice: Undefined index: res_width in C:Program Files (x86)EasyPHP5.2.10wwwAromasie emplatesOlivier_Zenindex.php on line 12
PETIT!
Aidez-moi s'il vous plaît!!!! :'(
Merci d'avance!!!!
Par contre, çà marche une fois la pages rafraîchie.
http://localhost/Aromasie/resscreen.php?width=1680...
404 Not Found 19ms
C'est assez clair, il ne trouve pas le fichier resscreen.php
As-tu déjà essayé le script rien qu'en le dézippant sans l'intégrer direct à ton site?
Oui, il affiche : "votre résolution est de" puis rien. Sous firebug le script js est pourtant bien apparent à la suite de la balise .
Ceci dit, le script fonctionne bien sur ma page, mais seulement au deuxième chargement de la page. Dés qu'on efface le cache, l'erreur réapparait.
Bonjour,
J'ai le même problème que liwei sauf que je n'ai pas l'erreur 404 mais le 200 d'OK
En gros cette ligne là :
GET http://localhost/site/resscreen.php?width=1280&hei...
200 OK 17ms
Le truc, c'est que la config est bonne dans firebug mais pas sur la page elle même.
Je fais un alert de la valeurs des cookies et là, venant de passer de la config 1024x768 à 1280x1024, le alert affiche 1024x768 une première fois, si je rafraichis, cela marche après.
Comme Liwei, je n'ai pas touché aux fichiers resscreen.
Merci de me débloquer s'il te plait
Je ne l'ai pas précisé mais le fichier index.php fourni pour tester marche de la même manière, c'est à dire que les valeurs des cookies sont vides lors de l'arrivée sur la page mais elles se remplissent après un premier raffraichissement.
Il s'agit d'un très bon blog, vous avez vraiment pris le temps de faire cette agréable. maintenir le bon travail.
Bonjour!
Peut-être êtes-vous parti en vacances et si c'est le cas, bonnes vacances!
Sinon, pourrez-vous nous accorder un peu de votre précieux temps et vous pencher sur notre problème s'il vous plaît?
Petite précision sur l'erreur générée au 1er chargement (je le répète : aucun problème au second).
"Notice: Undefined index: res_width in C:Program Files (x86)EasyPHP5.2.10wwwAromasie emplatesOlivier_Zenindex.php on line 34
Notice: Undefined index: res_width in C:Program Files (x86)EasyPHP5.2.10wwwAromasie emplatesOlivier_Zenindex.php on line 42"
Pourtant, la console affiche bien:
GET http://localhost/Aromasie/resscreen.php?width=1680...
GET http://localhost/Aromasie/resscreen.php?width=1680...
200 OK 65ms
et en entête:
Set-Cookieres_width=1680; expires=Fri, 16-Jul-2010 07:00:30 GMT; path=/
res_height=1050; expires=Fri, 16-Jul-2010 07:00:30 GMT; path=/
Est-ce que le fichier resscreen.php n'est pas appelé la première fois?
pourquoi les variable ne sont pas initialisées la première fois?
Aidez-nouuuuuus svp!!!!!
:'(
Merci ce script est génial et fonctionne a la perfection. De plus, il retourne bien la définition et non pas la taille du navigateur. Impeccable !
Par contre, ce qui est totalement balot c'est que le cookie en php, on ne peut l'ouvrir qu'après un refresh..................
Bien vu, simple et concis! Il est normal qu'il faille un refresh une fois pour que les cookies soient validés.
les cookies ne sont visibles que apres le rechargement de la page..
Ainsi au 1er chargement le cookie n'existe pas, donc les variables n'existent pas d'où l'erreur.
au 2eme chargement ou lors d'une visite ultérieure le cookie existe donc tout va bien!
thats right!

Merci ça marche nickel et ça évite le rechargement de la page.
Bonjour,
Merci pour cette astuce et ces scripts. y aurait-il moyen de nous indiquer quelles variables doit être récupéré pour les affichages au premier chargement ?
merci d'avance
super, merci beaucoup :-)
Merci pour ce tutoriel!!
moi je n'ai pas trouvé quelles variables doit être récupéré pour les affichages au premier chargement , mais pour empecher le message d'erreur je verifie d'abord la presence du cookie , s'il n'est pas present je ne cherche pas a en extraire les valeurs
Il est dommage que le rechargement de la page soit nécessaire...autant faire alors un $_PHPSELF...qui marche à tous les coups et est plus fiable et n'utilise pas de javascript...
Par ailleurs chez moi celà fonctionne parfois(avec rafraichissement)sous firefox mais pas sous IE? bizarre?
Des améliorations existeraient-elles?ou bien ce script était pour nous mettre l'eau à la bouche?
Un curieux déçu..
Bonjour,
faits curieux pour moi.
J'ai suivi a la lettre la méthode décrite dans l'archive ZIP et cela ne fonctionnait pas.
J'ai edité le fichier rescree et j'ai remarqué qu'il avait été modifié en l'uploadant sur mon serveur ovh.
il avait cette tête (sans retour à la ligne)
Bonjour,
Je trouve le principe génial mais je n'arrive pas le faire fonctionner sur mon site joomla. J'ai suivi la manip indiquée mais rien a faire.
Pour info, j'ai le même problème que Kanter35 lors de l'upload resscreen.php (tout le code s'affiche sur la première ligne et est donc passé en commentaire), je remodifie donc le php par la suite.
J'obtiens les message d'erreurs suivants :
Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /home/[...]/daily-peneyrals/index.php:39) in /home/[...]l/daily-peneyrals/libraries/joomla/session/session.php on line 660
Warning: Cannot modify header information - headers already sent by (output started at /home/[...]/daily-peneyrals/index.php:39) in /home/[...]/daily-peneyrals/plugins/system/languagefilter/languagefilter.php on line 121
Warning: Cannot modify header information - headers already sent by (output started at /home/[...]/daily-peneyrals/index.php:39) in /home/[...]l/daily-peneyrals/libraries/joomla/input/cookie.php on line 91
Un ptit coup de pouce ne serait pas de refus! (Pour info, c'est mon premier site, répondez simplement svp)