Vous n'êtes pas identifié(e).

  • Contributions :
  • Vos boîtes de messages privés sont vides.

🟣 "convertir" div en JavaScript en php


#1 2021-12-22 10:01:12

Mention BrunoDurant
♟️ Grade : Inconnu

Inscription : 2021-12-22
Messages : 1
Likes : 0

"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:


<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:


<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:


<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


<?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)


<input type="hidden" name="rang" value="<?php $rang;?>">
 

Etape 6: dans ma page1.php, je récupére ma variable


$rang = isset($_POST['rang']) ? $_POST['rang'] : "";
 

Etape 7: je l'affiche dans ma page1.php


echo $rang;
 

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


<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

0
J'aime ❤️

🔴 Hors ligne

#2 2021-12-22 10:37:48

Mention Ziltosh
🥉 Grade : Scout

AuxiliaireIngénieur web100likesConsomateur de Liens
Inscription : 2020-08-20
Messages : 277
Likes : 136

Scraping
Développement PHP
Développement JS
intégration Html Css

Re : "convertir" div en JavaScript en php

Il est de bon ton de se présenter dans la section dédiée avant de poser des questions.

1
J'aime ❤️

🔴 Hors ligne

#3 2021-12-28 15:30:12

Mention s2prod
🥈 Grade : Soldier

Membre du CercleOfficierForce PolyvalenteIngénieur web100likesMembre HospitalierPhilantrope
Inscription : 2015-10-15
Messages : 659
Likes : 248

Développement Python
Développement JS
Scraping
Social Engineering
Site Web

Re : "convertir" div en JavaScript en php

@BrunoDurant Question conne, t'utilises la bonne méthode de formulaire ? Là tu nous présente $_POST est-ce que tu n'as pas laissé en GET.

Tu utilises une ternaire $rang = isset($_POST['rang']) ? $_POST['rang'] : "";  Si tu remplaces ta string vide par "test", elle fonctionne ? ou  t'as rien ?

Après truc qui n'a rien à voir, tu devrais lâcher l'affaire avec onclick et utiliser


addEventListener('click' () =>{
if(this.checked)
ordre.push(this.value);
else if((key = ordre.indexOf(this.value)) >-1 )
ordre.splice(key,1);        
});
 

L'avantage c'est que tu peux récupérer l'évènement en le passant en paramètre.


Rejoignez-moi sur : Serpzilla > ZennoPoster > PlanetHoster > Appsumo
Soyez réalistes : Demandez l'impossible !
Ⓢ②ⓅⓇⓄⒹ

0
J'aime ❤️

🔴 Hors ligne

Pied de page des forums