begin process at 2012 02 12 11:59:09
  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 :16 213

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

Source avec Zip Source avec une capture SUBDIVISER LE RÉSULTAT D'UNE RECHERCHE EN PAGES par kimmp
Source avec Zip TIMER : SETTIMEOUT & SETINTERVAL AMÉLIORÉS par jdmcreator
Source avec Zip Source avec une capture ONGLETS ET CHANGEMENT INSTANTANÉ DE LA LANGUE par william voirol
Source avec Zip Source avec une capture COPIER DU TEXTE par m22001111
Source avec Zip DIALOGUE ENTRE FENÊTRES MÈRE ET FILLE par william voirol

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture SUBDIVISER LE RÉSULTAT D'UNE RECHERCHE EN PAGES par kimmp
Source avec Zip Source avec une capture CALCULATRICE HEURE par m22001111
Source avec Zip Source avec une capture COPIER DU TEXTE par m22001111
Source avec Zip ROTATION D'UNE IMAGE, ANIMATION par william voirol
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 administrateur CS

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 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
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 : 2,184 sec (3)

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