Formulaire avec champs dans echo
Résolu
danielos77
Messages postés
108
Date d'inscription
Statut
Membre
Dernière intervention
-
danielos77 Messages postés 108 Date d'inscription Statut Membre Dernière intervention -
danielos77 Messages postés 108 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai le formulaire ci-dessous qui ne présente pas de message d'erreur, mais pourtant n'envoie aucune donnée.
Au début je pensais que c'était à cause du fait d'avoir des champs dans des echo mais après des recherches cela ne devrait pas poser de pb.
Je ne vois pas où est le souci.
Est-ce une histoire de php qui s'exécute côté serveur ?
Ce qui me fait dire que les données ne sont pas envoyées (ou du moins pas reçues) c'est parce que sur la page de traitement, j'ai le message "Aucune donnée arrivée"
Je sèche lamentablement sur le pourquoi...
Merci d'avance
Daniel
J'ai le formulaire ci-dessous qui ne présente pas de message d'erreur, mais pourtant n'envoie aucune donnée.
Au début je pensais que c'était à cause du fait d'avoir des champs dans des echo mais après des recherches cela ne devrait pas poser de pb.
Je ne vois pas où est le souci.
Est-ce une histoire de php qui s'exécute côté serveur ?
<form name="1" method="post" action="../envoi_gestion.php"> <?php // met en "dur" la saison echo '<p> </p> Saison traitée : <font size="5" color="blue"><b>'.$Saison.'</b></font><br><br>'; echo "<FORM name='1' action='../envoi_gestion.php' method='POST'><br>"; //préparation de la requête //echo $sql; $sql =' SELECT Inscriptions_ULM.ID,Inscriptions_ULM.Nom, Inscriptions_ULM.Prenom, Inscriptions_ULM.NumANEG, Inscriptions_ULM.SSA, Inscriptions_ULM.CMCAS, Inscriptions_ULM.ChoixStage, Inscriptions_ULM.Participationphys, Stages_ULM.TypeStage, Stages_ULM.LieuStage FROM Inscriptions_ULM INNER JOIN Stages_ULM ON Inscriptions_ULM.ChoixStage = Stages_ULM.NumStage WHERE Stages_ULM.Saison = ?'; //tri des datas pour les avoir dans un tableau $datas = array($Saison); //Execution de la requete try{ $req = $bdd->prepare($sql); $req->execute($datas); //on récupère les résultats $result = $req->fetchAll(); }catch(Exception $e){ // en cas d'erreur : echo " <br>Erreur ! ".$e->getMessage(); echo " <br>Les datas : " ; print_r($datas); } // Mise en forme des résultats pour les champs voulus if(!empty($result)){ // Masque du tableau séparé pour ne pas le recopier à chaque ligne echo ' <table style="border-collapse:collapse;" cellspacing="0" class="avectri" border="1"> <thead> <tr> <!-- masque du tableau --> <th style="border-width:1; border-color:black; border-style:solid;">ID</th> <th style="border-width:1; border-color:black; border-style:solid;">Nom</th> <th style="border-width:1; border-color:black; border-style:solid;">Prénom</th> <th style="border-width:1; border-color:black; border-style:solid;">Num ANEG</th> <th style="border-width:1; border-color:black; border-style:solid;">SSA</th> <th style="border-width:1; border-color:black; border-style:solid;">CMCAS</th> <th style="border-width:1; border-color:black; border-style:solid;">Choix Stage</th> <th style="border-width:1; border-color:black; border-style:solid;">TypeStage</th> <th style="border-width:1; border-color:black; border-style:solid;">LieuStage</th> <th style="border-width:1; border-color:black; border-style:solid;">Participation Physique</th> <th style="border-width:1; border-color:black; border-style:solid;">Saisie Participation Physique</th> </tr> </thead> <tbody> '; foreach($result as $uneLigne){ // Suite du tableau avec une ligne par groupe de données //récupération de l'ID de la ligne pour le renvoyer avec un input hidden $ID=$uneLigne['ID']; //utilisation de l'ID pour créer la variable qui nommera chaque select $Participationmod="Participationmod".$ID; echo' <tr> <!-- lignes des résultats --> <td style="border-width:1; border-color:black; border-style:solid;">'.$uneLigne['ID'].'</td> <td style="border-width:1; border-color:black; border-style:solid;">'.$uneLigne['Nom'].'</td> <td style="border-width:1; border-color:black; border-style:solid;">'.$uneLigne['Prenom'].'</td> <td style="border-width:1; border-color:black; border-style:solid;">'.$uneLigne['NumANEG'].'</td> <td style="border-width:1; border-color:black; border-style:solid;">'.$uneLigne['SSA'].'</td> <td style="border-width:1; border-color:black; border-style:solid;">'.$uneLigne['CMCAS'].'</td> <td style="border-width:1; border-color:black; border-style:solid;">'.$uneLigne['ChoixStage'].'</td> <td style="border-width:1; border-color:black; border-style:solid;">'.$uneLigne['TypeStage'].'</td> <td style="border-width:1; border-color:black; border-style:solid;">'.$uneLigne['LieuStage'].'</td> <td style="border-width:1; border-color:black; border-style:solid;">'.$uneLigne['Participationphys'].'</td> <td style="border-width:0; border-color:black; border-style:solid;"><font size="4"><label for="Participationmod">Participation : </label> <select name="'.$Participationmod.'" id="'.$Participationmod.'"> <option value="">--Choisissez une option--</option> <option value="OUI">OUI</option> <option value="NON">NON</option> </select> <input type="hidden" name="'.$ID.'" id="'.$ID.'" value="'.$ID.'"> <input type="text" name="'.$ID.'" id="'.$ID.'" value="'.$ID.'"> <!--Test pour vérifier la valeur de l\'imput hidden à virer ensuite--> <input type="text" name="test" id="test" value="'.$Participationmod.'"> <!--Test pour vérifier le nom du select à virer ensuite--> </font> </td> </tr> '; } echo '</tbody> </table> '; } ?> echo "<br><Input type='submit' name='envoyer' value='Saisie des participations'>"; echo "</form>";
Ce qui me fait dire que les données ne sont pas envoyées (ou du moins pas reçues) c'est parce que sur la page de traitement, j'ai le message "Aucune donnée arrivée"
<?php echo 'Test<br>'; //activation de l'affichage des erreurs PHP error_reporting(E_ALL); ini_set('display_errors', TRUE); ini_set('display_startup_errors', TRUE); if (isset($_POST['ID']) AND isset($_POST['Participationmod'])) { echo $ID.'ID<br>'; } else { echo'Aucune donnée arrivée'; } ?>
Je sèche lamentablement sur le pourquoi...
Merci d'avance
Daniel
Configuration: Windows / Firefox 89.0
A voir également:
- Formulaire avec champs dans echo
- Whatsapp formulaire opposition - Guide
- Formulaire de réclamation facebook - Guide
- Civilité sur un formulaire - Forum VB / VBA
- Formulaire de reclamation instagram - Guide
- Echo discord - Forum Casque et écouteurs
2 réponses
Bonjour Jordan45,
Effectivement, en virant ma ligne 1 qui était en doublon avec la 7 et en rentrant les echo du submit et de la fermeture du formulaire dans le php, ça marche.
Avec le var_dump (j'ai pas eu le réflexe...) j'obtiens :
array(16) { ["Participationmod1"]=> string(3) "OUI" [1]=> string(1) "1" ["test"]=> string(18) "Participationmod77" ["Participationmod2"]=> string(3) "NON" [2]=> string(1) "2" ["Participationmod3"]=> string(3) "OUI" [3]=> string(1) "3" ["Participationmod4"]=> string(3) "NON" [4]=> string(1) "4" ["Participationmod5"]=> string(0) "" [5]=> string(1) "5" ["Participationmod76"]=> string(3) "OUI" [76]=> string(2) "76" ["Participationmod77"]=> string(3) "NON" [77]=> string(2) "77" ["envoyer"]=> string(25) "Saisie des participations" }
Mes données arrivent donc bien.
Pour le Participationmod, j'avais au départ mis ce que tu m'avais indiqué et puis je suis parti sur une variable pour donner le nom du select de la ligne. Variable qui est définie juste au début entre le foreach et l'affichage de la ligne.
Surtout qu'il fallait aussi que je récupère l'ID (dans le input hidden) pour pouvoir traiter les données modifiées à l'arrivée.
En tout cas merci pour ta gentillesse, ta rapidité, ton coup d’œil à voir ce qui merdouille et surtout les conseils.
Effectivement, en virant ma ligne 1 qui était en doublon avec la 7 et en rentrant les echo du submit et de la fermeture du formulaire dans le php, ça marche.
Avec le var_dump (j'ai pas eu le réflexe...) j'obtiens :
array(16) { ["Participationmod1"]=> string(3) "OUI" [1]=> string(1) "1" ["test"]=> string(18) "Participationmod77" ["Participationmod2"]=> string(3) "NON" [2]=> string(1) "2" ["Participationmod3"]=> string(3) "OUI" [3]=> string(1) "3" ["Participationmod4"]=> string(3) "NON" [4]=> string(1) "4" ["Participationmod5"]=> string(0) "" [5]=> string(1) "5" ["Participationmod76"]=> string(3) "OUI" [76]=> string(2) "76" ["Participationmod77"]=> string(3) "NON" [77]=> string(2) "77" ["envoyer"]=> string(25) "Saisie des participations" }
Mes données arrivent donc bien.
Pour le Participationmod, j'avais au départ mis ce que tu m'avais indiqué et puis je suis parti sur une variable pour donner le nom du select de la ligne. Variable qui est définie juste au début entre le foreach et l'affichage de la ligne.
Surtout qu'il fallait aussi que je récupère l'ID (dans le input hidden) pour pouvoir traiter les données modifiées à l'arrivée.
En tout cas merci pour ta gentillesse, ta rapidité, ton coup d’œil à voir ce qui merdouille et surtout les conseils.
Donc ton IF est toujours faux.
.. pour vérifier si des données sont envoyées .. il faudrait, à la place de ton IF/ELSE ..
faire un
ça te permettrait de voir quelles variables tu envoies réellement...
Pour rappel .. dans ta question précédente .. je t'ai indiqué que pour ton SELECT, il fallait faire