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

Langage PHP Discussion :

envoie de variable dans une page php via un bouton en POST


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Janvier 2016
    Messages
    95
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs

    Informations forums :
    Inscription : Janvier 2016
    Messages : 95
    Points : 61
    Points
    61
    Par défaut envoie de variable dans une page php via un bouton en POST
    Bonjour, et bonne année 2019

    je souhaite envoyer en POST une variable dans une autre page PHP via un bouton.
    Mes boutons sont gérénés dynamiquement via l'ajax et cela fonctionne très bien par contre je n'arrive pas à "sortir" du formulaire pour qu'il soit traité.

    mon formulaire d'ouverture :
    form.php
    Code : 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
     
            <?php
     
            while($donnees = $resultat->fetch(PDO::FETCH_ASSOC)) {
                switch ($donnees['uti_profil']){
                case "CONSULT":
                    $groupe_libelle = 'consultant';
                    break;
                case "CONTR_GLOB":
                    $groupe_libelle = 'contributeur global';
                    break;
                default:
                    $groupe_libelle = 'administrateur';
            }
                echo '<button class="btn btn-info" onclick=choix("'. $donnees['profil'] .'") type="button" name="fonction" value="'. $donnees['profil'] .'">'. $groupe_libelle .'</button><br />';
            }
            ?>
     
                <div class="btn-group" role="group" aria-label="..." id="liste" name="numeroAffectation"> </div>
    ma page de recherche et de création des boutons :
    requete.php
    Code : 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
     
    <?php
     
    if(isset($_POST['id'])) {
        $id = htmlentities($_POST['id']);
     
        try {
            $bdd = new PDO('mysql:host=localhost;dbname=bdd', 'xxxx', 'yyyyy');
            $bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
        } catch(Exception $e) {
            exit('Erreur : '. $e->getMessage());
        }
     
        $requete = "SELECT * FROM utilisateur WHERE numeroAffectation= '". $id."' ORDER BY rand() LIMIT 4" ;
        $resultat = $bdd->query($requete);
        $compteur = $resultat->rowCount();
     
        if($compteur != 0) {
            //echo '<select multiple class="form-control" name="numeroAffectation">';
            while($donnees = $resultat->fetch(PDO::FETCH_ASSOC)) {
                echo '<button type="button" class="btn btn-default" onclick="Go1("'. $donnees['numeroAffectation'].'")">'. $donnees['nom'].' '.$donnees['prenom'] .'</button>';
     
            }
        }
     
    }
    ?>
    et mon fichier Ajax.js
    Code : 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
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
     
    var xhr = null;
     
    function getXhr(){
        if(window.XMLHttpRequest) // Firefox et autres
            xhr = new XMLHttpRequest();
        else if(window.ActiveXObject){ // Internet Explorer
            try {
                xhr = new ActiveXObject("Msxml2.XMLHTTP");
            } catch (e) {
                xhr = new ActiveXObject("Microsoft.XMLHTTP");
            }
        }
        else { // XMLHttpRequest non supporté par le navigateur
            alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
            xhr = false;
        }
    }
     
    function choix1(id){
        getXhr();
        // On défini ce qu'on va faire quand on aura la réponse
        xhr.onreadystatechange = function(){
            // On ne fait quelque chose que si on a tout reçu et que le serveur est ok
            if(xhr.readyState == 4 && xhr.status == 200){
                leselect = xhr.responseText;
                // On se sert de innerHTML pour rajouter les options a la liste
                document.getElementById('liste').innerHTML = leselect;
            }
        }
     
        // Ici on va voir comment faire du post
        xhr.open("POST","requete.php",true);
        // ne pas oublier ça pour le post
        xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
        // ne pas oublier de poster les arguments
        xhr.send("id="+id);
    }
     
    }
    function Go1(numeroAffectation){
        getXhr();
    console.log(odrh);
        // Ici on va voir comment faire du post
        xhr.open("POST","test.php",true);
        // ne pas oublier ça pour le post
        xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
        // ne pas oublier de poster les arguments
        xhr.send("id="+numeroAffectation);
    }
    J'aimerais donc récupérer le nuemroAffectation dans la page test.php

  2. #2
    Membre émérite
    Avatar de badaze
    Homme Profil pro
    Chef de projets info
    Inscrit en
    Septembre 2002
    Messages
    1 412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets info
    Secteur : Transports

    Informations forums :
    Inscription : Septembre 2002
    Messages : 1 412
    Points : 2 522
    Points
    2 522
    Par défaut
    Quand j'ai des problèmes de ce genre je regarde toujours le source de la page.

    Nom : Capture20190111_001.JPG
Affichages : 619
Taille : 19,2 Ko

    Le onclick est mal formaté.
    Cela ne sert à rien d'optimiser quelque chose qui ne fonctionne pas.

    Mon site : www.emmella.fr

    Je recherche le manuel de l'Olivetti Logos 80B.

  3. #3
    Membre du Club
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Janvier 2016
    Messages
    95
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs

    Informations forums :
    Inscription : Janvier 2016
    Messages : 95
    Points : 61
    Points
    61
    Par défaut
    Ok merci , je pourrais tester ce lundi.

  4. #4
    Membre du Club
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Janvier 2016
    Messages
    95
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs

    Informations forums :
    Inscription : Janvier 2016
    Messages : 95
    Points : 61
    Points
    61
    Par défaut
    Bonjour, en relisant ma question, je me suis aperçu que cela était mal tourné;
    C'est le fichier qui génère les boutons et donc qui valide le formulaire qui ne fonctionne pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    if($compteur != 0) {
            while($donnees = $resultat->fetch(PDO::FETCH_ASSOC)) {
     
                echo '<button type="button" class="btn btn-default" value="'. $donnees['profil'].'" onclick="document.getElementById(kcc)" >'. $donnees['uti_nom'].' '.$donnees['uti_prenom'] .'</button>';
     
            }
        }
    voici le code source du bouton :
    <button type="button" class="btn btn-default" value="adm" onclick="document.getElementById(kcc)" >toto</button>
    En cliquant sur le bouton, j’aimerais que cela m'envoie vers la page "test.php" avec la variable en Post.

    merci de votre aide.

  5. #5
    Membre à l'essai
    Homme Profil pro
    Développeur .NET/PHP/JAVA/C++
    Inscrit en
    Septembre 2017
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur .NET/PHP/JAVA/C++

    Informations forums :
    Inscription : Septembre 2017
    Messages : 13
    Points : 21
    Points
    21
    Par défaut
    Bonjour, je ne sais pas si c'est évident de validez un formulaire de cette façon, mais en générale tu devais avoir un form.submit quelque part dans ton JS

Discussions similaires

  1. Réponses: 1
    Dernier message: 29/03/2017, 18h50
  2. Réponses: 5
    Dernier message: 19/12/2013, 11h32
  3. envoi de variables vers une page php avec WGET
    Par Othasm dans le forum VBScript
    Réponses: 0
    Dernier message: 20/06/2011, 16h45
  4. envoi de variable vers une page php
    Par atchoum17 dans le forum VBScript
    Réponses: 3
    Dernier message: 23/05/2011, 09h48
  5. Réponses: 11
    Dernier message: 11/03/2005, 17h41

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