Partage
  • Partager sur Facebook
  • Partager sur Twitter

Jouer avec les variables entre JS et PHP

    28 mai 2017 à 7:31:40

    Bonjour !

    J'ai un script N° 1 , script N°2 et une page PHP ( donc 3 pages différentes ).

    Ce que je veux faire c'est envoyer des données depuis script N°1 vers page PHP , puis le traitement du PHP va renvoyer un résultat que je veux l'envoyer vers script N°2.

    Je sais pas si c'est possible, si c'est le cas veuillez me donner le bout de code qui le permet ou de m'expliquer la situation.

    Merci d'avance !

    • Partager sur Facebook
    • Partager sur Twitter
      28 mai 2017 à 12:05:52

      voilà peut être une solution

      Fichier HTML contenant deux fonction JS

      fonction action_php()

      dans laquelle on peut ajouter des variables dans l'objet formdata

      puis

      fonction action_retour_php()

      qui récupere l'objet event du calcul de la page PHP

      sur laquelle tu peux effectuer un nouveau traitement en js ici je fait juste afficher

      a adapter selon les besoin

      Le fichier PHP luis fait juste le calcul de circonférence

      <!DOCTYPE html>
      <html>
      
      <head>
      <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
      <title>Jouer variable php js</title>
      
      <script type="text/javascript">
      function WJS_getXMLHttpRequest() {
          var xhr = null;    
          if (self.XMLHttpRequest || self.ActiveXObject) {
              if (self.ActiveXObject) {
                  try{ xhr = new ActiveXObject("Msxml2.XMLHTTP");}
                  catch(e){ xhr = new ActiveXObject("Microsoft.XMLHTTP");}
              }
              else{ xhr = new XMLHttpRequest();}
          }
          else{
              alert("Erreur - Votre navigateur ne supporte pas l'objet XMLHTTPRequest..."); return null;
          }  
          return xhr;
      }
      function WJS_xhr_request(url,trans_type,trans_var,callback){
      	if((typeof url == 'undefined') || (typeof url != 'string')){
      		if((typeof alert != 'undefined') && (typeof alert == 'function')){ alert("Erreur - url de la requête invalide");}
      		else{ console.log("Erreur - url de la requête invalide");}
      	}
      	else{
      		var xhr = WJS_getXMLHttpRequest();
      		xhr.onreadystatechange = function(){
      	        if(xhr.readyState == 4 && xhr.status == 200 ){ 
      	        	if(typeof callback != "undefined"){
      	        		if(typeof callback == "function"){ callback(xhr.responseText);}
      	        		else{ alert('WJS_xhr_request ( Fonction callback introuvable )');}
      	        	} 
      	        }
      	    } 
      	    if((typeof trans_type == "undefined") || (trans_type != 'POST')){ trans_type = 'GET';}
      	    if(typeof trans_var == "undefined"){ trans_var = null; }
      	    if((trans_type == "GET") && ( trans_var != null)){ url += '?'+trans_var;}
      	    xhr.open(trans_type, url, true);
      	    if(trans_type == "GET"){ xhr.send(null);}
      	    else{
      	    	xhr.setRequestHeader("enctype", "multipart/form-data");
      		    xhr.send(trans_var);
      		}
      	}
      }
      
      function action_php(){
      	document.getElementById('resultat').innerHTML = 'Calcul en cours';
      	var formulaire = new FormData();
      	formulaire.append("diametre", document.getElementById('diametre').value);
      	WJS_xhr_request('calcul_circ.php','POST',formulaire,action_retour_php);
      }
      
      function action_retour_php(evt){
      	document.getElementById('resultat').innerHTML = 'La circonférence est de : <br /><br />'+evt;
      }
      </script>
      
      </head>
      <body style="font-weight:bold">
      <span style="text-decoration:underline">Calcul circonférence</span> :<br /><br />
      <input type="text" id="diametre"/><button type="button" onclick="javascript: action_php();">calcul</button>
      <div id="resultat"></div>
      </body>
      
      </html> 

       Puis le fichier PHP

      <?php
      header("Content-Type: text/plain");
      if((!isset($_POST['diametre'])) || (empty($_POST['diametre'])) || (!is_numeric($_POST['diametre']))){
      	echo 'Erreur nombre invalide '.$_POST['diametre'];
      }
      else{
      	echo $_POST['diametre'] * pi();
      }
      




      -
      Edité par CedricDeMartin 28 mai 2017 à 12:08:25

      • Partager sur Facebook
      • Partager sur Twitter

      Jouer avec les variables entre JS et PHP

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
      • Editeur
      • Markdown