Envoyer la variable JavaScript à la variable PHP [dupliquer]

possible Duplicate:

Comment passer des variables JavaScript à PHP?

J'ai d'abord pensé que je devais convertir JavaScript en PHP, mais ensuite j'ai découvert que je ne pouvais pas à cause des exécutions côté serveur et côté client. Donc maintenant je veux simplement envoyer une variable

<script type="text/javascript">
function scriptvariable()
{        
    var theContents = "the variable";
}
</script>

à une variable PHP

<?php
$phpvariable
?>

cette fonction dans le JavaScript s'exécute quand disons que je clique sur un bouton.

maintenant je n'ai aucune idée sur la façon d'attribuer ce phpvariable à JavaScript un pour utiliser le phpvariable pour chercher des trucs dans ma base de données. Je sais que je peux l'ajouter à mon url ou quelque chose et rafraîchir la page, mais je voudrais le faire avec AJAX que je pourrais avoir à utiliser cette méthode Ajax plus loin dans ma page web.

Donc, il y a un moyen facile de le faire sans avoir à vidage les pages de code sur ma page pour faire une chose simple?

39
demandé sur halfer 2011-11-19 05:19:00

3 réponses

comme Jordan l'a déjà dit, vous devez poster la variable javascript sur votre serveur avant que le serveur puisse gérer la valeur. Pour ce faire, vous pouvez programmer une fonction javascript qui soumet un formulaire - ou vous pouvez utiliser ajax / jquery. jQuery.post

peut-être que l'approche la plus facile pour vous est quelque chose comme ça

function myJavascriptFunction() { 
  var javascriptVariable = "John";
  window.location.href = "myphpfile.php?name=" + javascriptVariable; 
}

sur votre myphpfile.vous pouvez utiliser $_GET['name'] après votre javascript a été exécuter.

concerne

45
répondu Grrbrr404 2011-11-19 01:30:14

PHP s'exécute sur le serveur et Javascript s'exécute sur le client, de sorte que vous ne pouvez pas définir une variable PHP égale une variable Javascript sans envoyer la valeur au serveur. Vous pouvez, cependant, définir une variable Javascript pour égaler une variable PHP:

<script type="text/javascript">
  var foo = '<?php echo $foo ?>';
</script>

pour envoyer une valeur Javascript à PHP, vous devez utiliser AJAX. Avec jQuery, il ressemblerait à quelque chose comme ceci (exemple le plus basique possible):

var variableToSend = 'foo';
$.post('file.php', {variable: variableToSend});

Sur votre serveur, vous devez recevoir la variable envoyée dans le post:

$variable = $_POST['variable'];
63
répondu Jordan Brown 2011-11-19 01:22:28

Cela dépend de la façon dont votre page se comporte. Si vous voulez que cela se produise asynchrone, vous devez utiliser AJAX. Essayez "jQuery post ()" sur Google pour trouver quelques astuces.

dans les autres cas, si cela se produit quand un utilisateur soumet un formulaire, vous pouvez envoyer la variable dans un champ caché ou ajouter ?variableName=someValue" à la fin de l'URL que vous ouvrez. :

http://www.somesite.com/send.php?variableName=someValue

ou

http://www.somesite.com/send.php?variableName=someValue&anotherVariable=anotherValue

de cette façon, de PHP vous pouvez accéder cette valeur est la suivante:

$phpVariableName = $_POST["variableName"];

pour les formulaires utilisant la méthode de la poste ou:

$phpVariableName = $_GET["variableName"];

pour les formulaires utilisant la méthode GET ou l'annexe à la méthode url que j'ai mentionnée ci-dessus (querystring).

3
répondu rcdmk 2011-11-19 01:39:14