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

yousfane Messages postés 243 Date d'inscription vendredi 24 novembre 2006 Statut Membre Dernière intervention 21 décembre 2007 - 14 juil. 2007 à 11:31
Arto_8000 Messages postés 1044 Date d'inscription lundi 7 mars 2005 Statut Membre Dernière intervention 13 juillet 2010 - 17 juil. 2007 à 03:05
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/43451-detecter-si-javascript-est-active-php-session

Arto_8000 Messages postés 1044 Date d'inscription lundi 7 mars 2005 Statut Membre Dernière intervention 13 juillet 2010 7
17 juil. 2007 à 03:05
"- Faute que je trouve grave : Il manque le masquage pour les ancien navigateur."

Il y a 20 ans oui, maintenant non.
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
16 juil. 2007 à 15:45
bien sûr <noscript><?php du PHP ?></noscript>
ne peut pas fonctionner, on est coté client. @+
Optitech Messages postés 134 Date d'inscription samedi 19 octobre 2002 Statut Membre Dernière intervention 3 janvier 2009
16 juil. 2007 à 15:05
Ha... oui

Mais j'avais comprit cela :

<noscript><?php

//ICI cod ePHP

?></noscript>
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
16 juil. 2007 à 15:01
bien sur que si...
<noscript>
<meta http-equiv="Refresh"
content="0; URL=Page.php">
</noscript>
par exemple....
doit y avoir d'autres solutions...
Optitech Messages postés 134 Date d'inscription samedi 19 octobre 2002 Statut Membre Dernière intervention 3 janvier 2009
16 juil. 2007 à 14:51
Salut bultez :)

Ton astuce ne fonctinne pas :) Pourquoi car PHP est un language serveur ! Pour plus d'info : http://www.phpdebutant.org/article118.php
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
16 juil. 2007 à 14:39
>>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.

@+
Optitech Messages postés 134 Date d'inscription samedi 19 octobre 2002 Statut Membre Dernière intervention 3 janvier 2009
16 juil. 2007 à 13:15
Merci pour le sinfos sur session_register() je n'étais pas au courant de ces détails :)
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
16 juil. 2007 à 07:29
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.
Optitech Messages postés 134 Date d'inscription samedi 19 octobre 2002 Statut Membre Dernière intervention 3 janvier 2009
15 juil. 2007 à 17:39
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
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
14 juil. 2007 à 13:27
yousfane++
mais peut-être n'ai-je pas compris le but script ?
@+
yousfane Messages postés 243 Date d'inscription vendredi 24 novembre 2006 Statut Membre Dernière intervention 21 décembre 2007 2
14 juil. 2007 à 11:31
Salut
La balise noscript suffit
<noscript>js est désactivé</noscript>
Rejoignez-nous