Passage de variables JavasScript vers PHP [Fermé]

Signaler
Messages postés
6
Date d'inscription
mardi 9 décembre 2014
Statut
Membre
Dernière intervention
24 décembre 2014
-
Messages postés
31110
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
21 janvier 2021
-
Bonjour,

je suis en train de faire un petit programme où le visiteur peut insérer un texte, le modifier par la taille de la police ou par la couleur...
Ca je suis arrivé à le faire, mais là où je coince c'est pour faire passer les variables javascript vers une autre page pour pouvoir les exploiter sous forme de PHP
Du genre afficher ce qu'à écrit le visiteur, insérer dans une BDD....
Pour ma fonction j'ai ceci :

<script language="javascript"> 
function envoyerDonneesServeur(){
var zone = document.getElementById("zone");
$.post("traitement.php", {
fontSize: zone.style.fontSize,
fontColor: zone.style.color,
text: zone.textContent

})
}
</script>


Je ne sais pas si c'est possible, je crois que oui pour l'avoir lu dans des forums.
J'ai essayé plusieurs solutions pour faire passer ces variables dans un form...Mais je plante à chaque fois.
Je suppose aussi qu'il est nécessaire de faire passer toutes ces variables dans des hidden

Bonne journée et merci d'avoir passé un peu de temps sur mon topic




4 réponses

Messages postés
31110
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
21 janvier 2021
3 198
Bonjour

Avant de t'en dire plus. ... dis moi si tu utilises jquery.



Messages postés
31110
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
21 janvier 2021
3 198
Je ne sais pas si c'est possible, je crois que oui pour l'avoir lu dans des forums.
J'ai essayé plusieurs solutions pour faire passer ces variables dans un form...Mais je plante à chaque fois.
Je suppose aussi qu'il est nécessaire de faire passer toutes ces variables dans des hidden


Oui c'est possible..

Tu peux, en effet, utiliser un FORM, dans lequel tu mettrais des input Hidden contenant tes variables
document.getElementById("id_un_input_hidden").value = fontSize;


Mais tu peux aussi, comme tu as commencé, à le faire en AJAX.
La syntaxe ( $.post...) que tu as écrite dans ton code est une de celle utilisé avec JQUERY. (d'où ma première question....).

Si tu n'utilises pas JQUERY, tu peux aussi le faire en "pure" javascript. (le xmlhttprequest)
Voir ici : https://www.commentcamarche.net/faq/18745-utilisation-de-l-objet-xmlhttprequest




Messages postés
6
Date d'inscription
mardi 9 décembre 2014
Statut
Membre
Dernière intervention
24 décembre 2014

Merci Jordane

En fait je crois que je me suis enflammé et surtout éparpillé.
Je pense qu'avec mon niveau j'ai intérêt à rester sur du simple que je comprenne.
En conclusion je vais faire en sorte de déclarer mes variables, les transmettre dans un "form" et les récupérer en variables PHP pour exploitation.
Tout d'abord les variables, est que j'ai une chance que ceci fonctionne ?
<script language="javascript"> 
document.getElementById("zone");{

var fontSize = zone.style.fontSize;
var fontColor = zone.style.color;

// , etc... avec toutes les autres données qui m'intéressent

}
</script>

Variables "var fontSize" que je mettrai dans un input du genre :
<form name="" action="traitement.php" method="post">
<input type="hidden" name="fontSize" value="" />
<input type="submit" value="envoyer">
</form>

et reprendre tout ça dans ma page traitement.php
<?php 

if(isset($_POST['fontSize'])){

$champ = $_POST['fontSize'];

}
echo $champ ;
?>


Bon tout ça c'est ce que j'aimerai faire et bien sur .... ca ne marche pas :(
Si on peut me dire où je me plante.... peut être partout

Merci
Messages postés
31110
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
21 janvier 2021
3 198
Bonjour,

Il te manque une étape ^^

Déjà .. dans ton FORM (mettre des ID à tes Input )
<form name="" action="traitement.php" method="post">
  <input type="hidden" name="fontSize"  id="fontSize"  value="" >
  <input type="hidden" name="fontColor"  id="fontColor"  value="" >
<!-- Etc.. -->
  <input type="submit" value="envoyer">
</form>


Puis dans ton Javascript : Mettre tes variables DANS les input :

<script language="javascript"> 
function remplirInput () {
 document.getElementById("zone");
      var fontSize = zone.style.fontSize;
      document.getElementById('fontSize').value = fontSize;
      var fontColor = zone.style.color;
      document.getElementById('fontColor ').value = fontColor; 
      
      // , etc... avec toutes les autres données qui m'intéressent

 }
  </script>


Et si tu veux que ton script JS se lance au chargement de la page tu places en bas de ta page :
<script language="javascript"> 
   remplirInput();
</script>


Avant de poser une question, merci de lire la charte du site.
Cordialement, Jordane