begin process at 2010 02 10 16:22:20
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Trucs & Astuces

 > DÉTÉCTER SI JAVASCRIPT EST ACTIVÉ + PHP / SESSION

DÉTÉCTER SI JAVASCRIPT EST ACTIVÉ + PHP / SESSION


 Information sur la source

Note :
1,33 / 10 - par 3 personnes
1,33 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Trucs & Astuces Classé sous :javascript, détecter, détection, js, activé Niveau :Initié Date de création :14/07/2007 Date de mise à jour :14/07/2007 05:16:09 Vu :12 052

Auteur : ChimairaHawk

Ecrire un message privé
Site perso
Commentaire sur cette source (11)
Ajouter un commentaire et/ou une note

 Description

Bonjour tout le monde,

Voici mon premier post de script sur Codes-sources ! J' éspère qu' il vous sera utile.
J' ai cherché sur internet une façon de savoir si le visiteur a activé le javascript de son naviguateur, mais sans trouvé de solution simple.

ALors j' ai codé ce petit script qui n' a rien de méchant mais qui va vous permettre de savoir si JS est activé ou pas.

(Attention ce script utilise PHP et les sessions)

Source

  • // -------------------------------------
  • // 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; ?>
// -------------------------------------
// 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; ?>

 Conclusion

Bien comme vous l' avez compris la variable $_SESSION['js'] sera le témoin de l' activation de JS ou pas alors vous pourrait réutiliser cette variable partout tant que vous aurez fait un session_start();

Bug report : Et oui, parce que ' il en faut ! la première fois que l' on charge test.php, ca va nous dire que JS est désactivé, malgrès qu' il soit activé, il faut alors mettre à jour car il y a un décalage avec la iframe !

Voilà amusez vous bien !

peace.


 Historique

14 juillet 2007 05:16:09 :
affichage

 Sources de la même categorie

VERIFIER UNE ADRESSE E-MAIL par elmersaid
DÉTECTER LES VISITEURS EN PROVENANCE DE GOOGLE par elmersaid
EMPÊCHER QUE VOTRE PAGE NE S'AFFICHE PAS DANS UN CADRE (IFRA... par elmersaid
ROLLOVER SUR LES BARRES DE SCROLL par elmersaid
OUTIL DE SÉLECTION par jdmcreator

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture RÉSOUDRE UNE ÉQUATION EN 6 ÉTAPES par Zestyr
Source avec Zip Source avec une capture POST-IT POUR LE WEB par jululu
Source avec Zip ACCESSIBARRE - AMÉLIORER LE CONFORT DES PERSONNES NON-VOYANT... par Pfuch
Source avec Zip Source avec une capture CALCULS RAYNAUX V2 par Ali Bibi
DÉTECTION JAVASCRIPT/AJAX SANS RECHARGER LA PAGE (JS/PHP) par Lomendil

Commentaires et avis

Commentaire de yousfane le 14/07/2007 11:31:40

Salut
La balise noscript suffit
<noscript>js est désactivé</noscript>

Commentaire de bultez le 14/07/2007 13:27:27

yousfane++
mais peut-être n'ai-je pas compris le but script ?
@+

Commentaire de Optitech le 15/07/2007 17:39:28

Salut :)

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

Commentaire de coucou747 le 16/07/2007 07:29:16

le but etant de donner l'info a du php et non a du js ou du html, la solution de yousfane n'est pas la bonne (ou alors j'ai pas compris la source)
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.

Commentaire de Optitech le 16/07/2007 13:15:13

Merci pour le sinfos sur session_register() je n'étais pas au courant de ces détails :)

Commentaire de bultez le 16/07/2007 14:39:31


>>tester si JS est activé dans PHP
ah... c'était ça le but ?

suffit d'appeler du php, entre les
balises <noscript></noscript>, qui
notera "ce qu'il veut", "où il veut".
les "autres php" testeront cette information.

@+

Commentaire de Optitech le 16/07/2007 14:51:04

Salut bultez :)

Ton astuce ne fonctinne pas :) Pourquoi car PHP est un language serveur ! Pour plus d'info : http://www.phpdebutant.org/article118.php

Commentaire de bultez le 16/07/2007 15:01:52

bien sur que si...
<noscript>
<meta http-equiv="Refresh"
content="0; URL=Page.php">
</noscript>
par exemple....
doit y avoir d'autres solutions...

Commentaire de Optitech le 16/07/2007 15:05:19

Ha... oui

Mais j'avais comprit cela :

<noscript><?php

//ICI cod ePHP

?></noscript>

Commentaire de bultez le 16/07/2007 15:45:51

bien sûr <noscript><?php du PHP ?></noscript>
ne peut pas fonctionner, on est coté client.     @+

Commentaire de Arto_8000 le 17/07/2007 03:05:20

"- Faute que je trouve grave : Il manque le masquage pour les ancien navigateur."

Il y a 20 ans oui, maintenant non.

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

JavaScript: appel du fichier externet (.js) - Help!! [ par Henri9009 ] Bonjour à tous. Je ne comprends pas comment je peux avoir un problème avec une manipulation si simple. Je vais devenir fou!!! Ça fait un javascript [ par scoder ] bonjour,je débute en js et on m'a dit qu'il est possible d'utiliser js avec des bases de données (en l'occurrence mysql)est-ce vrai et si oui comment pb javascript [ par matmojito ] Bonjour à tous!!Je suis débutant en js, et j'ai un pb.J'ai un fichier asp dans lequel je fais appel à un fichier js qui correspond à un menu. J'aimera pb de js dans un bouton flash [ par attentio ] salut j'essaye de faire un bouton avec du javascript, mais ca n'a pas l'air de vouloir marcher,merci de bien vouloir m'aideron (rollOver) { getURL("Ja Intercepter et bloquer une erreur Javascript [ par olid ] Bonjour,Jai un tit JS qui provoque dans un certain cas des avertissements d'erreurs dans le navigateur : C'est normal, et je voudrais couper l'affich changer source iframe avec js sous differents browsers [ par martiall ] Salut &#224; toutes et tous,en essayant de faire simple....Sur ma page, j'ai une iframe du style :&lt;IFRAME id="toto" name="toto" src="page1.php" hei recuperation d'objets javascript distants [ par gnienfo ] Bonjour! Je souhaite pouvoir r&#233;cuperer des objets javascript construit par un serveur distant (ou local de toute fa&#231;on dans un premier tp voir un fichier javascript .js [ par mimimm ] est il possible de voir le contenu d'un fichier javascript .js utilis&#233; dans une page et comment? merci. Balises JS [ par MadM@tt ] Bonjour &#224; tous, J'aimerais connaitre toutes les balises possibles qui permettent d'&#233;crire du Javascript, en effet je compte scanner une pag tester mon javascript [ par mlelorra ] bonjour j'ai fait des fonctions javascript et j'ai mis dans un .js j'aimerais savoir si il existe un logiciel/site qui peut dresser la liste des navig


Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,513 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales