Bonjour à tous
Je vous explique, j'ai un petit soucis.
Dans un formulaire en PHP, que j'ai appelé index.php:
Etape 1: j'ai placé quelques checkbox, comme suit:
Code html : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 <input name="image1" type="checkbox" class="case" id="1" value="1"> <input name="image2" type="checkbox" class="case" id="2" value="2"> <input name="image3" type="checkbox" class="case" id="3" value="3"> /** * etc.@Foobar */
Etape 2: j'ai placé un script JavaScript me permettant de savoir l'ordre des checkbox cochées par un utilisateur:
Etape 3: j'ai le résultat:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 <script> console.clear(); var checkbox = document.getElementsByClassName('case'), aff = document.getElementById('aff'), ordre=[]; for(var i=0, len=checkbox.length; i<len; i++){ checkbox[i].onclick=function(){ if(this.checked) ordre.push(this.value); else if((key = ordre.indexOf(this.value)) >-1 ) ordre.splice(key,1); aff.innerHTML = ordre.join(' - ');};} </script>
Jusque là tout se passe bien.
Code html : Sélectionner tout - Visualiser dans une fenêtre à part <div id="aff"></div>
Etape 4: je "déplace" mon div dans une variable en php et je fais un echo
Tout s'affiche correctement
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 <?php $rang='<div id="aff"></div>'; echo $rang; ?>
Etape 5: j'envoie le contenu de ma variable en php sur une autre page (page1.php)
Etape 6: dans ma page1.php, je récupére ma variable
Code html : Sélectionner tout - Visualiser dans une fenêtre à part <input type="hidden" name="rang" value="<?php $rang;?>">
Etape 7: je l'affiche dans ma page1.php
Code php : Sélectionner tout - Visualiser dans une fenêtre à part $rang = isset($_POST['rang']) ? $_POST['rang'] : "";
et ... ça ne fonctionne pas
Code php : Sélectionner tout - Visualiser dans une fenêtre à part echo $rang;
Du coup, j'ai essayé d'éliminer pas à pas les éventuels problèmes.
J'ai ajouté le mot "salut" dans mon input hidden de la page index.php pour voir si je ne m'étais pas trompé dans le input ou dans la récupération de la variable dans la page1.php
J'ai uniquement le mot "Salut" qui apparaît.
Code html : Sélectionner tout - Visualiser dans une fenêtre à part <input type="hidden" name="rang" value="<?php $rang; echo "salut"; ?>">
Du coup je pense que c'est le div dans ma variable $rang qui pose problème.
Est-ce que le problème vient du fait que javascript est côté client et que php est côté serveur ?
J'ai vu qu'il y avait peut être une solution avec Ajax, mais je ne l'ai pas comprise.
Est-ce que quelqu'un parmi vous pourrait m'expliquer ?
Merci beaucoup
A bientôt
Bruno
Partager