Convertir DIV en JavaScript en php
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:
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:
Code:
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> |
Etape 3: j'ai le résultat:
Code:
<div id="aff"></div>
Jusque là tout se passe bien.
Etape 4: je "déplace" mon div dans une variable en php et je fais un echo
Code:
1 2 3 4
| <?php
$rang='<div id="aff"></div>';
echo $rang;
?> |
Tout s'affiche correctement
Etape 5: j'envoie le contenu de ma variable en php sur une autre page (page1.php)
Code:
<input type="hidden" name="rang" value="<?php $rang;?>">
Etape 6: dans ma page1.php, je récupére ma variable
Code:
$rang = isset($_POST['rang']) ? $_POST['rang'] : "";
Etape 7: je l'affiche dans ma page1.php
et ... ça ne fonctionne pas
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
Code:
<input type="hidden" name="rang" value="<?php $rang; echo "salut"; ?>">
J'ai uniquement le mot "Salut" qui apparaît.
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