Page 1 sur 1

Gros problème de SYNTAXE: passage de var javascript->PHP

Posté : 10 mai 2012, 10:25
par pascalou
Bonjour à tous,

Voilà deux jours que je me bagarre pour trouver une syntaxe qui me donne vraiment (mais alors vraiment) du fil à retordre !

Je souhaite récupérer une variable javascript et la placer dans une varaible PHP pour l'exploiter et pouvoir l'enregistrer dans une base de donnée.

Je travaille sur l'API google map V3.
J'ai donc une fonction qui met à jour deux champs affichant la latitude et la longitude de la position d'un marqueur sur la carte. Cette position est actualisée à chaque drag&drop du marqueur sur la carte.

J'ai donc cette fonction ci dessous à laquelle je tente de rajouter un peu de PHP pour faire passer les valeurs lat() et lon() dans mes variables session PHP.
J'ai tout essayé (enfin presque) mais rien à faire.
Le code ci dessous m'affiche bien hello et toutou dans la page que j'appelle ensuite donc les variables session passent bien de page en page.

C'est LA SYNTAXE qui pose problème.

Avez vous une suggestion ?

MERCI d'avance ;-)

Pascalou

Code : Tout sélectionner

/* * Actualise l'affichage */ function refreshMap(point) { var b=Math.pow(10,decimals); document.getElementById("lat").value=Math.round(point.lat()*b)/b; document.getElementById("lng").value=Math.round(point.lng()*b)/b; map.setCenter(point); marker.setPosition(point); marker.setTitle(point.lat()+";"+point.lng()); <?php $latitude = "1"; $_SESSION['latitude'] = "hello"; $_SESSION['longitude'] = "toutou"; session_register("latitude"); session_register("longitude"); ?>

Re: Gros problème de SYNTAXE: passage de var javascript->PHP

Posté : 10 mai 2012, 10:29
par pascalibus
Oups, j'ai posté sans être connecté.
Désolé, Pascalou c'est aussi Pascalibus :-)))

PS: $latitude dans le code ce dessus n'a plus d'utilité, je l'ai utilisé pour des tests de syntaxe et ça passait parfaitement avec ça: Le "1" est bien passé en variable session.
Par contre, impossible de trouver une syntaxe pour réussir à faire passer le javascript dans la variable...

HELP :-(

<?php
$latitude = "1";
$_SESSION['latitude'] = $latitude ;
$_SESSION['longitude'] = "toutou";
session_register("latitude");
session_register("longitude");
?>

Re: Gros problème de SYNTAXE: passage de var javascript->PHP

Posté : 10 mai 2012, 10:46
par popy
Le php est interpreté coté serveur, le javascript coté client. Si tu veux faire parvenir des infos de ta page vers ton serveur, faut soumettre un formulaire (post ou get) ou faire de l'ajax (ce qui reviens a poster un formulaire)

Re: Gros problème de SYNTAXE: passage de var javascript->PHP

Posté : 10 mai 2012, 11:26
par pascalibus
Le php est interpreté coté serveur, le javascript coté client. Si tu veux faire parvenir des infos de ta page vers ton serveur, faut soumettre un formulaire (post ou get) ou faire de l'ajax (ce qui reviens a poster un formulaire)
A force de chercher j'ai finalement mis cette solution en oeuvre.
J'ai créé deux champs hidden dans le formulaire qui me permet d'appeler la page qui doit stocker les coordonnées GPS.
Les variables sont récupérée sans soucis et passées au PHP.
J'aurai bien aimé passer les variables directement du javascript aux variables session que j'ai réussi à mettre en place.
Ca doit sans doute être possible puisque en codant des valeurs en dur (entre "") ça passe par les variables session.
C'est sans doute un problème de syntaxe, certains s'en sortent avec une fonction print mais chez moi ça ne marche pas. (ils font un print dans une affection de variable PHP au travers d'une balise <script>)

Merci quand même,

Pascalibus.

Re: Gros problème de SYNTAXE: passage de var javascript->PHP

Posté : 29 mai 2012, 17:07
par kny
Je déterre un peu le sujet, mais est-ce qu'avec du formatage JSON cela ne résoudrait pas ton souci?

Re: Gros problème de SYNTAXE: passage de var javascript->PHP

Posté : 30 mai 2012, 06:58
par moogli
Non, Javascript ne peux me utiliser les variables de sessions de php !

La seule méthode c'est d'utiliser Ajax.

Json permet un formatage de donnée simple effectivement utile si php doit retourner plusieurs valeur ou un objet.

@+