Soyez le premier à donner votre avis sur cette source.
Snippet vu 19 516 fois - Téléchargée 20 fois
// ------------------------------------- // Document test.php // ------------------------------------- <?php session_start(); ?> <head> <SCRIPT LANGUAGE="JavaScript"> EcranHaut = screen.height; EcranLarg = screen.width; Ecran = EcranLarg + "x" + EcranHaut; </SCRIPT> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Document sans titre</title> </head> <body> <?php if(!empty($_SESSION['js'])){echo 'js est activé';}else{echo 'js est désactivé';}?> <SCRIPT LANGUAGE="JavaScript">document.write("<iframe height=\"0\" width=\"0\" border=\"0\" style=\"border: 0px;\" src=\"test2.php?u=" + Ecran + "\"</iframe>");</script> </body> </html> // ------------------------------------- // Document test2.php // ------------------------------------- <?php session_start(); $ecran = $_GET['u']; $_SESSION['js'] = $ecran; ?>
14 juil. 2007 à 11:31
La balise noscript suffit
<noscript>js est désactivé</noscript>
14 juil. 2007 à 13:27
mais peut-être n'ai-je pas compris le but script ?
@+
15 juil. 2007 à 17:39
Bonjour la surcharge que le serveur devra suporter :)
Bon il y a vraiment beaucoup plus simple pour savoir si JS est activé ou pas sur le navigateur du visiteur. La solution de Yousfane est la plus simple ! Plus rapide que cela tu meurs :) ET en plus pas de iframe et ca fonctionne tout de suite :)
A mon avis il faudrait mettre ta source sur PHPcs car c'est juste de la manipulation de Session PHP et non du JS.
Sinon au niveau codage j'ai trouvé quelque fautes !
Niveau HTML :
- Faute grave mais c'est surment un oubli : il manque la balise <html>
Niveau JS :
- Faute que je trouve grave : Il manque le masquge pour les ancien navigateur.
- Encore plus grave : Les variables EcranHaut,EcranLarg, Ecran ne sont pas déclarées.
- Idée pour optimisation : Les varaibles EcranHaut et EcranLag sont inutiles ! Tu peut ecrire cela : Ecran=screen.height+"x"+screen.width;
Niveau PHP :
- Faute grave : Dans la page test2.php tu fait : $ecran = $_GET["u"]; sans tester avant si $_GET["u"] existe !
- Au niveau des sessions tu as plein de chose à revoir : Ok pour l'utilisation de $_SESSION mais quand tu fait cela : $_SESSION['js'] = $ecran; sans avoir fait session_register("u"); j'ai de grande peir que cela ne marche pas surtout si dnas ton php.ini tu as : error_reporting = E_ALL :(
- Pareil que dnas le Js la varible ecran est inutile :)
Sinon je met 2/10 pour l'originalité de testé si JS est activé par PHP
16 juil. 2007 à 07:29
cependant, opitech a remarque de bonnes erreurs, et phpdebutant permet de faire ce script en lisant les premiers tutos, donc ca ne vaut pas du tout initie...
http://fr2.php.net/manual/fr/function.session-register.php
cependant la remarque pour session-register est deplacee :
Attention
Si vous voulez que votre script fonctionne indépendamment de la configuration de la directive register_globals, vous devez utiliser la variable $_SESSION. Tous les éléments de $_SESSION sont automatiquement enregistrés. Si votre script utilise session_register(), il ne fonctionnera pas dans les environnements où register_globals est désactivée.
register_globals : note importante: Depuis PHP 4.2.0, la valeur par défaut de la directive de configuration PHP register_globals vaut off et est complètement retirée depuis PHP 6.0.0. La communauté PHP vous recommande de ne pas dépendre de cette directive, mais de trouver d'autres moyens pour accéder aux données, tels que les superglobals.
16 juil. 2007 à 13:15
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.