Envoyer plusieurs variables dans une page PHP en AJAX

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Envoyer plusieurs variables dans une page PHP en AJAX

Re: Envoyer plusieurs variables dans une page PHP en AJAX

par moogli » 28 mars 2017, 17:17

toutes les checkbox se nomment asup ?

si oui c'est asup[] qu'ils faut utiliser dans un formulaire classique.
sinon quand tu construits ton tableau de données il faut mettre un tableau dans un tableau

var postData['asup'] = []

@+

Re: Envoyer plusieurs variables dans une page PHP en AJAX

par lucieemtl » 28 mars 2017, 17:04

Bonjour, justement, j'ai enlevé tout ce qui était tableau, ce qui donne maintenant :

Code : Tout sélectionner

<td class=\"imgAlb\"> <div> <input type=\"checkbox\" name=\"asup\" class=\"imgAsup\" style=\"display:none;\" value=\"". utf8_encode($liste[$i]) ."\"/> <img src=\"./pics/". utf8_encode($liste[$i]) ."\" class=\"materialboxed\" alt=\"Image\" width=\"200\" height=\"200\" /> </div> </td>
Et j'ai remplacé var postData = $('.imgAsup').serializeArray() par $('.imgAsup').val();

Re: Envoyer plusieurs variables dans une page PHP en AJAX

par moogli » 28 mars 2017, 17:00

salut,

as tu vérifié le contenu de postData ? (coté JS)
et ce qu'il y avait dans $_POST['asup'] ?

a priori je pense pas qu'il y ai un tableau la dedans.

@+

Envoyer plusieurs variables dans une page PHP en AJAX

par lucieemtl » 28 mars 2017, 16:55

Bonjour à tous et à toutes,

Je suis en train d'élaborer un script, qui permet, lors d'un premier clic sur un certain bouton, de ne faire apparaître que certaines div (des images en l’occurrence ici) avec des checkboxs permettant de faire un choix.

Lorsque les checkboxs ont été cochées -plus vulgairement parlant, choisies; c'est ce même bouton qui permet d'envoyer à une page PHP, les valeurs des checkboxs cochées.

À savoir que les checkboxs ont pour valeur, un nom de fichier généré par un autre script PHP, mais je m'éternise sur ce bout de code je n'ai pas fini.

Je parviens bien à arriver à la page php en question, mon problème est que je n'arrive pas à afficher les checkboxs sélectionnées afin de leur attribuer un traitement par la suite (en effet, je redirige vers ma page php afin de vérifier certaines choses, mais il est prévu d'enlever ça).

Je passe directement au else... Pourtant j'ai bien sélectionnées des checkboxs juste avant...

Mon input généré un peu plus haut dans un script PHP (Attention : ce dernier n'est pas dans un formulaire) :

Code : Tout sélectionner

<td class=\"imgAlb\"> <div> <input type=\"checkbox\" name=\"asup[]\" class=\"imgAsup\" style=\"display:none;\" value=\"". utf8_encode($liste[$i]) ."\"/> <img src=\"./pics/". utf8_encode($liste[$i]) ."\" class=\"materialboxed\" alt=\"Image\" width=\"200\" height=\"200\" /> </div> </td>
Mon script AJAX :

Code : Tout sélectionner

$('.imgAsup').hide(); var gestionClics = 0; $('#supImgGal').on('click',function(){ gestionClics++; $('.imgAlb').addClass('anim'); $('.imgAsup').show(); $('.alb').hide(1000); if(gestionClics == 2){ var postData = $('.imgAsup').serializeArray(); $.ajax( { url : "suppImgs.php", type: "POST", data : postData, success:function(data, textStatus, jqXHR) { $(location).attr('href', 'suppImgs.php'); }, error: function(jqXHR, textStatus, errorThrown) { alert("Erreur"); } }); } });
Et mon PHP (qui ne passe pas dans la boucle if :( ) :

Code : Tout sélectionner

if(isset($_POST['asup'])){ foreach($_POST['asup'] as $valeur){ echo $valeur; } } else{ echo "Aucune image selectionnée"; }
Quelqu'un peut-il m'aider ?
Cordialement, Lucie Muterel