[PHP/JavaScript] Transmission de variables

Fermé
k_you - 9 avril 2004 à 14:19
 deissy - 2 mars 2012 à 06:48
Bonjour tout le monde,
est ce que vous pourriez m indiquer comment retourner une variable d'une fonction javascript dans une variable php?
Merci bcp

14 réponses

OUi je sais je suis un peu retardataire mais je vais essayer de participer et voici en quelque sorte ce que je vous propose:

CE QU'IL FAUT SAVOIR!

- premièrement pour faire style web 2.0 je me suis basé sur ajax (uniquement XMLHttpRequest)
- le code de "convertion variable jvs - php" se trouver dans une fonction, un simple appel vous permettra alors de "convertir" votre variable jvs en php
- la variable utiliser se nommera "x" sachez qu'el peut provenir d'un formulaire, d'une fonction ou d'ailleur .. l'avantage aussi est que le navigateur ne se trouvera pas gelé...bien voici mon code:

<script type="text/javascript">

var x = 4;

function convertion(x){
/*là on utilise le coté ajax de javascript si vous ne comprenez pas ces lignes c'est pas bien graves, elles changent presque jamais donc copier comme ça*/

var xhr;
try { xhr = new ActiveXObject('Msxml2.XMLHTTP'); }
catch (e)
{
try { xhr = new ActiveXObject('Microsoft.XMLHTTP'); }
catch (e2)
{
try { xhr = new XMLHttpRequest(); }
catch (e3) { xhr = false; }
}
}
//le bloc suivant, je l'ai mis juste au cas où..mais ici on peut s'en passer
xhr.onreadystatechange = function()
{
if(xhr.readyState == 4 && xhr.status == 200)
{}}/*comme vous pouvez le constater ce bloc ne sert à rien, mais certains l'utiseront certainement en fonction du resultat voulu*/
/*maintenant on va envoyez notre variable x à php, le fichier reponse.php est le fichier où votre variable x converti est censé être affichée*/
xhr.open("POST","reponse.php",true);
xhr.setRequestHeader('content-type', 'application/x-www-form-urlencoded');
/* si votre variable vient d'un formulaire voici le code que vous utiliserez ceci:
var formid=document.getElementById('Id_de_votre_formulaire');
var formid2= formid.[name_du_tag_de_votre_formulaire].value
*/
// voici la partie qui nous interesse tous, on va envoyer la variable xvers php
xhr.send("varx="+x);
/* si vous utiliser un formulaire faites plutôt xhr.send("varx="+formid2);*/
</SCRIPT>

Voici notre fichier reponse.php

<?php

if (isset($_POST["varx"])){
$varx_recup=$_POST["varx"]
echo 'php a récupéré votre variable x';
echo $varx_recup;
}
?>

ce code doit avoir quelque imperfection, je l'ai posté à la hate alors ajouté des virgules s'il le faut et testez le, Il marche et j'utilise un code semblable depuis bien longtemps déjà pour la bonne raison que les variables sont convertit dynamiquement et sans que le navigateur ne semble bloqué....voilà j'esper avoir aidé certain, le code semble long mais en réalité il ne l'est pas.
12