IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Variable javascript vers script php


Sujet :

JavaScript

  1. #1
    Nouveau membre du Club
    Inscrit en
    Avril 2013
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Avril 2013
    Messages : 43
    Points : 25
    Points
    25
    Par défaut Variable javascript vers script php
    Bonjour,

    Je vais tenté de vous expliquer mon soucis.
    Je détiens une google maps avec plusieurs marqueurs dessus, qui pointent vers des adresses défini auparavant :
    Code Javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    function create_point(Entreprise, AdressePostal, lat, lng, mail) {
    	var marker = new google.maps.Marker({ 
    		position: new google.maps.LatLng(lat, lng),
    		map: carte
    }
    Quand je clique sur mon pointeur, une infobulle apparait et permet de contacter la personne par mail via un formulaire (d'ou ma variable mail dans ma fonction js).
    Ce que je voudrais, c'est tout simplement récupéré ma variable js mail pour pouvoir la mettre dans mon script php afin d'avoir le mail de la personne souhaité comme destinataire !

    Avez vous une idée ?

    Merci à vous.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Salut

    Si j'ai bien compris ton but, il faut que tu fasses une requêtes AJAX qui va transmettre l'email à ton script PHP côté serveur.

  3. #3
    Nouveau membre du Club
    Inscrit en
    Avril 2013
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Avril 2013
    Messages : 43
    Points : 25
    Points
    25
    Par défaut
    Bonjour,

    Tout d'abord merci de ton intérêt !
    Aussi, désolé mais étant débutant je ne connais pas trop AJAX. Mais je suppose que c'est ce que je voudrais faire oui !
    En gros je veux récupérer ma variable mail de ma fonction JS pour pouvoir l'utilisé dans mon formulaire !

  4. #4
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 146
    Points : 44 948
    Points
    44 948
    Par défaut
    Bonjour,
    tu peux surcharger l'objet marker en lui rajoutant une propriété mail
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    var marker = new google.maps.Marker({ 
        'mail': mail,
        'position': new google.maps.LatLng(lat, lng),
        'map': carte
    });
    Quand je clique sur mon pointeur, une infobulle apparait et
    tu peux également mettre les infos directement dans le code de ton infobulle.

  5. #5
    Nouveau membre du Club
    Inscrit en
    Avril 2013
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Avril 2013
    Messages : 43
    Points : 25
    Points
    25
    Par défaut
    Bonjour,

    En surchargeant ainsi l'objet marker cela ne me permettra que de faire apparaître le mail de la personne sur l'info-bulle ?
    Cependant l'intérêt n'est pas que la personne le vois, sinon cela ne sers a rien de passer par mon formulaire..

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2013
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 141
    Points : 98
    Points
    98
    Par défaut
    Une méthode un peu bourin mais qui marche:

    voilà pour la partie javascript
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var mavariable="l'email";
    Et voici pour la partie php

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <?php 
    $email="<script>document.write(mavariable);</script>";
    ?>

    C'est peut être pas la meilleur méthode mais au moins elle marche.

  7. #7
    Nouveau membre du Club
    Inscrit en
    Avril 2013
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Avril 2013
    Messages : 43
    Points : 25
    Points
    25
    Par défaut
    J'ai essayer ta solution Tendhor57 mais sans résultat

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2013
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 141
    Points : 98
    Points
    98
    Par défaut
    Pourtant chez moi cela marche, peut être que ton code est plus complexe, et cela ne marche pas avec cette méthode, et sinon en faisant cela

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <?php
    $email="<script>var mavariable="email";</script>";
    ?>

    Cela donne quoi ?

    car après cela plus d'idée

  9. #9
    Nouveau membre du Club
    Inscrit en
    Avril 2013
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Avril 2013
    Messages : 43
    Points : 25
    Points
    25
    Par défaut
    Merci de ton intérêt vraiment mais, sa ne fonctionne pas non plus, malheureusement.

  10. #10
    Expert éminent
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Points : 9 130
    Points
    9 130
    Par défaut
    pour envoyer quelque chose au serveur tu as plusieurs solution ça n'a absolument rien à voir avec javascript ou php

    ça ne relève que de HTTP
    tu ouvre une page avec ton navigateur
    ton navigateur envoie l'url de ta page au serveur (<= GET 1ere méthode)
    ton serveur traite la requête et réponds.

    tu remplie un formulaire et tu le soumets en mode GET
    ton navigateur récupère les données du formulaire en fait une url et l'envoie au serveur (<= GET 1ere methode toujour la même)
    ton serveur traite la requête et réponds.

    tu remplie un formulaire et tu le soumets en mode POST
    ton navigateur récupère les données du formulaire les places dans le corps de la requête et envoie l'url au serveur (<= POST 2eme méthode)
    ton serveur traite la requête et réponds.

    enfin tu ouvre un webfolder
    tu y dépose un fichier
    ton navigateur de fichier envoie à l'url associé au webfolder le contenu du fichier (<= PUT 3eme méthode)
    ton serveur traite la requête et réponds.

    comme tu peux le voir à chaque fois tu appelle une url sur ton serveur.
    Il n'existe pas d'autre solution pour communiquer avec le serveur il faut que tu invoque une url.


    Avec javascript tu as à ta disposition un objet qui s'appelle XMLHttpRequest (XHR)
    cet objet permet d'écrire en javascript un appel au serveur selon l'une des méthode ci dessus.

    avec la method GET tu ajoute mon/url.php?mavariable=mon@email à ton url et avec XHR tu fait send(null)ton script php reçois dans _GET[] une clé mavariable qui contient la valeur de ton email

    avec la methode POST tu crée un string param ='mavariable=mon@email' et tu fais send(param)ton script php reçois dans _POST[] une clé mavariable qui contient la valeur de ton email

    ave la méthode PUT tu fais send('mon@email')ton script php reçois dans stdin la valeur de ton email
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?php
    /* Les données PUT arrivent du flux */
    $putdata = fopen("php://input", "r");
     
    /* Ouvre un fichier pour écriture */
    $fp = fopen("myputfile.ext", "w");
     
    /* Lecture des données, 1 Ko à la fois et écriture dans le fichier */
    while ($data = fread($putdata, 1024))
    fwrite($fp, $data);
     
    /* Fermeture du flux */
    fclose($fp);
    fclose($putdata);

    Voilà pour soumettre des infos vers un serveur.


    quant à ton post j'ai vu des choses pas bien du tout
    NE JAMAIS UTILISER CETTE VIEILLE CHOSE INFÂME QU'EST document.write !!!!

    ensuite le php s'exécute sur TON serveur et le javascript s'exécute à l'autre bout de la planète sur la machine de ton client. Tu ne peux donc JAMAIS utiliser les variable JS dans php.

    outre les info ci dessus pour envoyer des info du client vers le serveur tu trouvera dans Contribuez sur le forum un post pour faire passer des info du serveur à javascript.

    je te conseille ne ne pas mélanger le code javascript avec php.
    si tu mets tout ton js dans des fichiers js tu ne sera pas tenter de tout mélanger et tu aura un code plus simple à maintenir.

    A+JYT

  11. #11
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 146
    Points : 44 948
    Points
    44 948
    Par défaut
    En surchargeant ainsi l'objet marker cela ne me permettra que de faire apparaître le mail de la personne sur l'info-bulle ?
    tu peux en faire ce que tu veux dans la fonction événement.

    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    // evenement sur click du maker
    google.maps.event.addListener( oMarker, 'clik', function( data){
       // ici on accède aux propriétés du maker via le mot clé this
       // et l'on en fait ce que l'on veux, une requête Ajax par exemple
    });

  12. #12
    Nouveau membre du Club
    Inscrit en
    Avril 2013
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Avril 2013
    Messages : 43
    Points : 25
    Points
    25
    Par défaut
    Merci beaucoup pour votre intérêt !

    sekaijin, j'ai testé ta méthode GET, à savoir sur mon code :

    Code Javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    var lemail = encodeURIComponent(mail);
     
     
    xhr.open("GET", "testform.php?variable1=" + lemail, true);
    xhr.send(null);

    Et sur mon code php :
    Code Php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    <?php
     
    header("Content-Type: text/plain"); 
     
    $variable1 = (isset($_GET["variable1"])) ? $_GET["variable1"] : NULL;
     
     
    if ($variable1) {
        echo $variable1;
     
    } else {
        echo "FAIL";
    }
    ?>

    Mais j'ai le droit à un joli FAIL sur ma page testform.php
    Peut être me suis-je mal servi de cette méthode..

    NoSmoking, j'ai aussi essayé ta méthode de cette façon (sûrement une mauvaise façon):
    Code Javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    google.maps.event.addListener( oMarker, 'clik', function( data){
    this.marker;
    var lemail = encodeURIComponent(mail);
     
     
    xhr.open("GET", "testform.php?variable1=" + lemail, true);
    xhr.send(null);
     
    })

    Mais j'ai le droit au même résultat
    Désolé j'ai sûrement du entrer des bourdes, je débute et apparemment je ne suis pas au point du tout


    EDIT : Autant pour moi j'avais tout simplement pas initialiser mon xhr !
    Merci à vous, vous m'avez énormément aidé !

  13. #13
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 146
    Points : 44 948
    Points
    44 948
    Par défaut
    Juste pour info, dans la fonction on récupéres le mail comme suit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    google.maps.event.addListener( oMarker, 'clik', function( data){
      var lemail = encodeURIComponent( this.mail);
      // la suite

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 21/10/2009, 00h35
  2. [PHP-JS] variable javascript vers fonction php
    Par peplum37 dans le forum Langage
    Réponses: 1
    Dernier message: 21/07/2008, 21h46
  3. récuperer une variable d'un script php vers un javascript
    Par naazih dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 26/05/2008, 10h57
  4. passer une variable javascript à un script php
    Par kawther dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 7
    Dernier message: 30/03/2007, 18h21
  5. Réponses: 3
    Dernier message: 10/11/2006, 11h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo