Duplicate possible:
Comment passer des variables JavaScript à PHP?
J'ai d'abord pensé que je devais convertir JavaScript en PHP, mais j'ai découvert que je ne le pouvais pas à cause des exécutions côté serveur et client. Alors 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 lorsque je clique sur un bouton.
Maintenant, je n'ai aucune idée sur la façon d'attribuer cette variable phpvariable à celle en JavaScript afin qu'elle utilise phpvariable pour rechercher des éléments dans ma base de données. Je sais que je peux l'ajouter à mon URL ou à quelque chose et rafraîchir la page, mais j'aimerais le faire avec AJAX, car il se peut que je devrais utiliser cette méthode Ajax plus loin dans ma page Web.
Donc, y a-t-il un moyen facile de faire cela sans avoir à déposer des pages de code sur ma page pour faire une chose simple?
Comme Jordan l'a déjà dit, vous devez publier la variable javascript sur votre serveur avant que celui-ci puisse gérer la valeur. Pour ce faire, vous pouvez programmer une fonction javascript qui envoie 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 fichier myphpfile.php, vous pouvez utiliser $_GET['name']
après l'exécution de votre javascript.
Cordialement
PHP s'exécute sur le serveur et Javascript sur le client. Par conséquent, vous ne pouvez pas définir une variable PHP égale à une variable Javascript sans envoyer la valeur au serveur. Vous pouvez toutefois définir une Variable Javascript égale à a PHP variable:
<script type="text/javascript">
var foo = '<?php echo $foo ?>';
</script>
Pour envoyer une valeur Javascript à PHP, vous devez utiliser AJAX. Avec jQuery, cela ressemblerait à ceci (exemple le plus élémentaire possible):
var variableToSend = 'foo';
$.post('file.php', {variable: variableToSend});
Sur votre serveur, vous devez recevoir la variable envoyée dans le message:
$variable = $_POST['variable'];
Cela dépend de la manière dont votre page se comporte. Si vous voulez que cela se produise de manière asynchrone, vous devez utiliser AJAX. Essayez "jQuery post ()" sur Google pour trouver des tuts.
Dans le cas contraire, si cela se produit lorsqu'un utilisateur envoie un formulaire, vous pouvez envoyer la variable dans un champ masqué ou ajouter ?variableName=someValue"
jusqu'à 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, depuis PHP vous pouvez accéder à cette valeur en tant que:
$phpVariableName = $_POST["variableName"];
pour les formulaires utilisant la méthode POST ou:
$phpVariableName = $_GET["variableName"];
pour les formulaires utilisant la méthode GET ou la méthode append to url que j'ai mentionnée ci-dessus (chaîne de requête).