Passer des paramètres d'un PC récupérés en JS vers PHP ?

_ET_ Messages postés 6 Date d'inscription jeudi 2 novembre 2000 Statut Membre Dernière intervention 5 décembre 2004 - 4 déc. 2004 à 23:25
rttb Messages postés 290 Date d'inscription jeudi 26 août 2004 Statut Membre Dernière intervention 25 avril 2008 - 5 déc. 2004 à 18:50
Bonjour,

Voilà, mon pb est simple : pour le compte d'un MOD phpBB qui ajuste l'heure du forum sur celui du PC client, j'ai besoin récupérer ses paramètres au premier affichage du forum...
getTimezoneOffset()
getFullYear() / getMonth() / getDate()
getHours() / getMinutes() / getSeconds()
...et de les envoyer vers php pour pouvoir les utiliser.

Or, no pb pour les récupérer du PC en JS, je peux les déposer sur la première page vue sans pb, mais pour les envoyer au serveur (à php) normalement il faut un submit, non ? :-(

Or quelqu'un qui arrive sur un forum, peut passer d'une page à l'autre à n'importe quel lien et mes paramètres ne seront pas envoyé à php.

Donc comment faire ?

On peut pas déposer ces paramètres directement dans l'url en JS ?

12 réponses

rttb Messages postés 290 Date d'inscription jeudi 26 août 2004 Statut Membre Dernière intervention 25 avril 2008
5 déc. 2004 à 09:40
salut,

Moi si je veux passer du JavaScript au PHP, j'utilise des input type hidden (dans un form) que je remplis avec JavaScript.
Le problème, c'est qu'il faut que ce soit un form avec post, une seule destination donc.

Tu peux essayer ceci :
http://www.javascriptfr.com/forum.v2.aspx?ID=336154
Je n'ai pas teste, mais cela semble faire ce que tu cherches.

-------------------------------------------------------------
Amicalement, rttb
[http://www.tourisme-seignosse.com [site]]
0
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
5 déc. 2004 à 12:00
t'as une solution très simple :
en php tu écris tt tes liens avec un ?decalageminute=$decalageminute&.....

Pour que tes paramètres soient réenvoyés automatiquement...

Sinon, t'as la solution de l'écriture de fichier (en fonction de l'ip..)
0
_ET_ Messages postés 6 Date d'inscription jeudi 2 novembre 2000 Statut Membre Dernière intervention 5 décembre 2004
5 déc. 2004 à 12:54
Bonjour et merci de vos réponses !!! :)

> Moi si je veux passer du JavaScript au PHP,
> j'utilise des input type hidden (dans un form)
> que je remplis avec JavaScript.

C'est ce que je fais, mais...

> Le problème, c'est qu'il faut que ce soit un form avec
> post, une seule destination donc.

Ben vi et justement sur une page de forum d'est pas possible. Il y a un vingtaine de destinations (liens) possibles :-/

> Tu peux essayer ceci :
> http://www.javascriptfr.com/forum.v2.aspx?ID=336154
> Je n'ai pas teste, mais cela semble faire ce que tu cherches.

Interressant. Son script marche mais maintenant faut que je vois dans le cadre du forum...

> t'as une solution très simple :
> en php tu écris tt tes liens avec un ?
> decalageminute=$decalageminute&.....

Mouais mais là c'est un truc de fou. Il faudrait modifier une quizaines de pages sur une vingtaines de liens chacune. J'aurai peut être à revoir la constitution de 300 url ça fait trop pour un MOD.

On peut pas au onClick intercepter l'url sur laquelle on a cliqué et la compléter des paramètres ?
Sinon ne peut-on pas utiliser une variable JS ou la valeur d'un champ texte (dans lequel j'aurais mis le résultat de la fct) dans une ligne HTML pour compléter l'url ?

Merci d'avance :)
0
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
5 déc. 2004 à 13:10
"Mouais mais là c'est un truc de fou. Il faudrait modifier une quizaines de pages sur une vingtaines de liens chacune. J'aurai peut être à revoir la constitution de 300 url ça fait trop pour un MOD."=> si t'avais fait une include ça aurait été plus simple....

tu fais une include pour ton menu ou tes pages...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
_ET_ Messages postés 6 Date d'inscription jeudi 2 novembre 2000 Statut Membre Dernière intervention 5 décembre 2004
5 déc. 2004 à 13:15
On parle de phpBB...
http://www.phpbb.com/phpBB/

...et il y a des include pour le page_header (les menus) et le page_footer mais ça ne chage pas grand chose. Il faut modifier tous les liens de ces 2 fichiers + le corp des 13 pages de base de phpBB (index, affichage forums, affichage posts, etc.) pour que quelque soit la page sur laquelle on arrive (que le mec a bookmarké), et quelque soit le lien sur lequel il clique on ait les paramètres dans l'url.
0
_ET_ Messages postés 6 Date d'inscription jeudi 2 novembre 2000 Statut Membre Dernière intervention 5 décembre 2004
5 déc. 2004 à 14:46
Pour le script de utilisant ob_start() il ne marche pas. En fait il donne l'illusion que ça marche mais en réalité la valeur n'est produite que sur le client et n'est pas récupérée en php. Dans $variable il n'y a que la chaine de caractères JS qui sera exécutée sur le client :sad)
0
rttb Messages postés 290 Date d'inscription jeudi 26 août 2004 Statut Membre Dernière intervention 25 avril 2008
5 déc. 2004 à 15:46
tu peut faire un split sur $variable quand meme, en mettant un / en caractere de 'decoupe' par exemple, et recuperer chacun des elements.

-------------------------------------------------------------
Amicalement, rttb
[http://www.tourisme-seignosse.com [site]]
0
_ET_ Messages postés 6 Date d'inscription jeudi 2 novembre 2000 Statut Membre Dernière intervention 5 décembre 2004
5 déc. 2004 à 16:01
???

Non en php tu n'as qu'une longue chaine de texte et aucun résultat dans $variable.
Dans son exemple tu auras "<script language="JavaScript1.2">document.write(screen.width+" x "+screen.height);</script>" dans $variable.

Son script donne l'illusion que tu disposes du résultat en php mais en réalité le résultat est calculé à l'affichage de "echo 'la taille de votre écran est de '.$variable.' ;-)';" sur le client :sad)
0
rttb Messages postés 290 Date d'inscription jeudi 26 août 2004 Statut Membre Dernière intervention 25 avril 2008
5 déc. 2004 à 16:25
Mais si dans du JavaScript tu mets

var mavariable=<? echo $variable ?>;

Après tu peux traiter mavariable en JavaScript...

-------------------------------------------------------------
Amicalement, rttb
[http://www.tourisme-seignosse.com [site]]
0
rttb Messages postés 290 Date d'inscription jeudi 26 août 2004 Statut Membre Dernière intervention 25 avril 2008
5 déc. 2004 à 16:26
J'ai oubliè les ""

var mavariable="<? echo $variable ?>";

sorry
-------------------------------------------------------------
Amicalement, rttb
[http://www.tourisme-seignosse.com [site]]
0
_ET_ Messages postés 6 Date d'inscription jeudi 2 novembre 2000 Statut Membre Dernière intervention 5 décembre 2004
5 déc. 2004 à 16:58
Heu... je comprends pas là.
C'est l'inverse que je veux faire. Récupérer une valeur produite en JS sous php.

Si c'était pour produire "var mavariable" sous JS j'aurais directement placé "var mavariable = date.getTimezoneOffset()"

Pas la peine de passer par php pour arriver jusque là.
Mais maintenant comment je renvoi le résultat de la variable JS vers php ? :)

C'est ça mon pb :blush)
0
rttb Messages postés 290 Date d'inscription jeudi 26 août 2004 Statut Membre Dernière intervention 25 avril 2008
5 déc. 2004 à 18:50
Desole :blush)
Je crois que je suis passe du cote obscur...

Je ne vois pas d'autre solution alors...

-------------------------------------------------------------
Amicalement, rttb
[http://www.tourisme-seignosse.com [site]]
0
Rejoignez-nous