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