2009-01-07 5 views
9

J'utilise PHP et JavaScript. Mon code JavaScript contient une fonction, get_data():Comment obtenir les données de fonction JavaScript dans une variable PHP

function get_Data(){ 
    var name; 
    var job; 
    ..... 

    return buffer; 
} 

Maintenant j'ai du code PHP avec ce qui suit.

<?php 
    $i=0; 
    $buffer_data; 

    /* Here I need to get the value from JavaScript get_data() of buffer; 
     and assign to variable $buffer_data. */ 
?> 

Comment affecter les données de la fonction JavaScript dans la variable PHP?

+0

J'ai le même problème que vous. L'avez-vous résolu? –

+0

Une telle question, sérieusement! Merci de poster – Yusha

Répondre

11

Utilisez jQuery pour envoyer une variable JavaScript dans votre fichier PHP:

$url = 'path/to/phpFile.php'; 

$.get($url, {name: get_name(), job: get_job()}); 

Dans votre code PHP, obtenir vos variables de $_GET['name'] et $_GET['job'] comme ceci:

<?php 
    $buffer_data['name'] = $_GET['name']; 
    $buffer_data['job'] = $_GET['job']; 
?> 
+1

en utilisant ajax sera ok? –

+1

@ garcon1986, Oui, $ .get() utilise ajax! – Uzbekjon

+2

J'essaye de faire ceci pour passer des variables de Javascript à une nouvelle fenêtre. Est-ce que le code PHP doit être dans la nouvelle fenêtre ou dans la fenêtre parent? Je ne peux pas le faire fonctionner de toute façon. –

0

Vous devez utiliser Ajax car un script côté client ne peut pas être appelé par le code côté serveur avec les résultats disponibles sur l'étendue côté serveur. Vous pourriez avoir à faire un appel Ajax sur le côté client qui va définir la variable PHP.

1

Le code JavaScript est exécuté côté client tandis que PHP est exécuté côté serveur, vous devrez donc envoyer les valeurs JavaScript au serveur. Cela pourrait éventuellement être rentré dans $_POST ou par Ajax.

0

Si vous n'êtes pas Avoir de l'expérience avec ou besoin d'Ajax, puis bourrer vos données dans un post/get, et renvoyer les données à votre page.

0
<script> 
     function get_Data(){ 
      var name; 
      var job; 
      ..... 
      return buffer; 
     } 

     function getData() 
     { 
      var agree=confirm("get data?"); 
      if (agree) 
      { 
       document.getElementById('javascriptOutPut').value = get_Data(); 
       return true; 
      } 
      else 
      { 
       return false; 
      } 
     } 
    </script> 

    <form method="post" action="" onsubmit="return getData()"/> 
     <input type="submit" name="save" /> 
     <input type="hidden" name="javascriptOutPut" id="javascriptOutPut"/> 
    </form> 

    <?php 
     if(isset($_POST['save'])) 
     { 
      var_dump($_POST['javascriptOutPut']); 
     } 
    ?> 
Questions connexes