IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques & Frameworks Discussion :

Récupération de donnée avec formulaire dans bootStrap modal


Sujet :

Bibliothèques & Frameworks

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2015
    Messages
    68
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Juin 2015
    Messages : 68
    Par défaut Récupération de donnée avec formulaire dans bootStrap modal
    Bonjour,

    Mon projet est de réaliser une application permettant la gestion de l'emploi du temps pour les étudiants et des professeurs d"un lycée.
    Un professeur créé des tickets ("studiesManager.xml") puis sur un planning vide ("array_chimie_monday"), il clique sur une cellule, un modal s'ouvre permettant le choix de ses tickets. Une fois valider, les informations apparaissents sur la cellule où il a cliqué.

    Je souhaite récupérer les données de mes checkbox (apparent dans le modal), afin de pouvoir les retranscrire dans un autre fichier XML afin de pouvoir mettre en mémoire mon planning. L'affichage de ma checkbox dans le modal fonctionne parfaitement, où je bloque c'est pour récupérer les valeurs de la checkbox("studiesManager.xml") pour les implanter dans mon xml ("array_chimie_monday.xml"). Merci de votre aide, en espérant avoir été suffisant clair.

    studiesManager.xml
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <studies>
      <study id="3">
        <teacher>Mr mascetti</teacher>
        <class>bts Sio</class>
        <color>Noir</color>
        <day>lundi</day>
      </study>
    </studies>

    array_chimie_monday.php
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
     
    <div class="container">
        <div class="modal fade" id="myModal" role="dialog">
            <div class="modal-dialog">
                <!-- Modal content-->
                <div class="modal-content">
                    <div class="modal-header">
                        <h4 class="modal-title">Choix du ticket</h4>
                    <form action="array_chimie_monday.php" name="choice" method="post">
                    </div>
                        <div class="modal-body">
                            <!-- style.css : popup -->
                            <table class="table table-striped custab">
                                <!-- Pour chaque ticket affiche le prof, classe, couleur et jours dans un tableau -->
                                <?php
                                foreach ($studies->children() as $study) {
                                    echo '<tr>';
                                    echo '<td class="text-center">' . $study->teacher . '</td>';
                                    echo '<td class="text-center">' . $study->class . '</center></td>';
                                    echo '<td class="text-center">' . $study->color . '</center></td>';
                                    echo '<td class="text-center">' . $study->day . '</center></td>';
                                    echo '<td class="text-center"><input type="checkbox" name="checkbox" value="1"</td>';
                                    echo '</tr>';
                                }
                                ?>
                            </table>
                        </div>
     
                        <div class="modal-footer">
                            <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
                            <button type="submit" name="valid" class="btn btn-success" data-dismiss="modal">Valider</button>
                        </div>
                    </div>
     
                    </form>
                </div>
     
            </div>
        </div>
    </div>

  2. #2
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    Que ce soit une modale ou pas n'a pas beaucoup d'importance en l’occurrence : ce qui t'intéresse, c'est la soumission du formulaire vers PHP.

    Donc, il te faut un script PHP qui récupère le résultat du formulaire et qui ensuite construit/met à jour le XML. Qu'est-ce qui te pose problème exactement ?
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  3. #3
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2015
    Messages
    68
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Juin 2015
    Messages : 68
    Par défaut
    Merci Celira pour ta réponse rapide.

    Je suis pas très alaise avec le XML, je n'arrive pas à récupérer les données de mon ticket (checkbox) afin de les insérer dans mon planning xml (chimie-monday.xml). J'ai inséré un id auto-incrémenté sur les noeuds XML afin de pouvoir les utilisés. Mais c'est un peu confus pour moi.

  4. #4
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    Bon, donc d'abord récupérer le formulaire.
    Il faut que tu envoies une information qui te permet d'identifier à quel noeud du XML la checkbox correspond. (et au passage, il faut que tes checkboxes aient toutes un nom différent, ou fassent partie d'un tableau)
    Par exemple :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    echo '<input type="checkbox" name="checkbox[]" value="'.$study['id'].'">';
    va envoyer la valeur de l'attribut "id" de ta balise <study> dans un tableau que tu pourras récupérer par $_POST['checkbox'].
    Attention, seules les checkboxes cochées sont envoyées.

    A lire sur le sujet : Les formulaires et PHP5, notamment le paragraphe sur les checkboxes et PHP - Manual : Utilisation de base de SimpleXML
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  5. #5
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2015
    Messages
    68
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Juin 2015
    Messages : 68
    Par défaut
    Je crois que mon problème viens de mon 'form', car quand je fais un var_dump($post) il me retourne toujours nul, de plus quand je fais un (!empty ($_POST)), je n'ai rien à l'écran. J'ai également intégré l'id à ma checkbox.

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    // Création des tickets dans le planning : test
    if (!empty ($_POST)) {
        var_dump($_POST['checkbox[]']);
    }
    ?>

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
     
    <div class="container">
        <div class="modal fade" id="myModal" role="dialog">
            <div class="modal-dialog">
                <!-- Modal content-->
                <div class="modal-content">
                    <div class="modal-header"><h4 class="modal-title">Choix du ticket</h4></div>
                    <form action="array_chimie_monday.php" name="choice" method="POST">
                        <div class="modal-body">
                            <!-- style.css : popup -->
                            <table class="table table-striped custab">
                                <!-- Pour chaque ticket affiche le prof, classe, couleur et jours dans un tableau -->
                                <?php
                                foreach ($studies->children() as $study) {
                                    echo '<tr>';
                                    echo '<td class="text-center">' . $study->teacher . '</td>';
                                    echo '<td class="text-center">' . $study->class . '</center></td>';
                                    echo '<td class="text-center">' . $study->color . '</center></td>';
                                    echo '<td class="text-center">' . $study->day . '</center></td>';
    //                                echo '<td class="text-center"><input type="checkbox" name="checkbox" value="1"></td>';
                                    echo '<td class="text-center"><input type="checkbox" name="checkbox[]" value="' . $study['id'] . '"></td>';
     
                                    echo '</tr>';
                                }
                                ?>
                            </table>
     
                        <div class="modal-footer">
                            <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
                            <button type="submit" name="valid" class="btn btn-success" data-dismiss="modal">Valider</button>
                        </div>
                        </div>
                    </form>
                </div>
            </div>
     
        </div>
    </div>

  6. #6
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    essaye de faire directement un var_dump($_POST) (sans condition if autour) pour voir la totalité de ce qui est réellement envoyé.
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

Discussions similaires

  1. Réponses: 2
    Dernier message: 16/01/2015, 15h33
  2. Récupération des données de formulaire dans une page JSP
    Par fauthie dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 16/09/2009, 14h02
  3. Réponses: 3
    Dernier message: 26/09/2008, 13h10
  4. Récupération de données de formulaire dans une fenetre fille
    Par xave dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 03/01/2008, 16h22
  5. Réponses: 2
    Dernier message: 04/06/2006, 20h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo