[Java/PHP/AJAX] Besoin d'aide pour récupérer une variable

Fermé
PL29 - 11 juin 2014 à 09:32
ccmga Messages postés 18 Date d'inscription mercredi 11 juin 2014 Statut Membre Dernière intervention 17 juin 2014 - 11 juin 2014 à 15:06
Bonjour,

Je vous explique la situation :


J'aimerai récupérer la valeur d'une variable javascript pour la transférer dans mon code php qui se trouve juste en dessous. La valeur de cette variable me sert à faire une requête sql.


Sur ma page php j'ai une liste déroulante où on peut choisir un utilisateur et une zone de texte qui affiche l'adresse mail de l'utilisateur sélectionné.


J'ai réussit avec la méthode GET mais elle ne convient pas à ma page pcq à chaque actualisation le choix dans la liste déroulante ne reste pas sélectionné...
D'après tout ce que j'ai pu lire il faut que je me tourne vers la méthode POST mais je ne la comprends pas très bien ou vers de l'AJAX que je ne connais pas du tout.

Si vous avez des exemples de codes que je puisse mettre ou m'expliquer comment faire je suis preneur.

Je vous remercie pour vos réponses !

[code]

Voici mon code :

<script language="Javascript">

function plus(){
c=document.getElementById('cadre');
//création liste déroulante
c2=c.getElementsByTagName('select');
ch=document.createElement('select');

//Création zone de text
c3=c.getElementsByTagName('input');
ch1=document.createElement('input');

//Attributs de la liste déroulante
ch.setAttribute('type','text');
ch.setAttribute('name','choixUsers'+(3+c2.length));
ch.setAttribute('style','width:80px');

//Attributs de la zone de texte
ch1.setAttribute('type','text');
ch1.setAttribute('name','choixUsersEmail'+(3+c2.length));
ch1.setAttribute('size','60');
ch1.setAttribute('readonly','yes');
ch1.setAttribute('value','test');

//Création d'un 'enfant' rattaché au Div 'cadre'
c.appendChild(ch);
c.appendChild(ch1);

}

function recup(){
//-- Recup de l'objet SELECT
var O_Select = document.getElementById('idSelec');
//-- Recup de l'index selectionne
var index = O_Select.selectedIndex;
//-->C'est la valeur de 'index' que je veux récupérer
top.document.location = "testModifForm.php?index="+index;

}
</script>


<html>
<body>
<select name="la_selection" onchange='recup()' id="idSelec">

<?php
try
{
// On se connecte a MySQL
$bdd = new PDO('mysql:host=localhost;dbname=glpibd', 'root', '');
}
catch(Exception $e)
{
die('Erreur : ' . $e->getMessage());
}
//1ère requête récup des noms des utilisateurs dans l'ordre de leurs ID
$reponse = $bdd->query('SELECT name FROM glpi_users ORDER BY id ASC;');

while($donnees = $reponse->fetch())
{
?>
<!--Rempli la liste déroulante-->
<option><?php echo $donnees['name'];?></option>
<?php
}

$reponse->closeCursor(); // Termine le traitement de la 1ère requete




//2ème requête récup des adresses mails des utilisateurs dans l'ordre des ID utilisateurs
$reponse = $bdd->query("SELECT email FROM glpi_useremails WHERE glpi_useremails.users_id='".(2+($_GET['index']))."' ORDER BY users_id;");
while($donnees = $reponse->fetch())
{
?>
</select>
<input type="text" size="60" readonly value="<?php echo $donnees['email'];?>"></input>
<?php
}
// Termine le traitement de la 2ème requete
$reponse->closeCursor();
?>

<input type="button" size="60" onclick='plus()' value="Ajouter un utilisateur"></input>
<div id="cadre" style="margin-left:0px;width:525px"> </div>


</body>
</html>

/code

A voir également:

1 réponse

ccmga Messages postés 18 Date d'inscription mercredi 11 juin 2014 Statut Membre Dernière intervention 17 juin 2014
11 juin 2014 à 15:06
Le PHP est éxecuté par le serveur pour rendre la page HTML qui est envoyé au navigateur. Ensuite, le navigateur exécute le javascript.

Tu raisonnes dans le mauvais sens : on ne peut pas envoyer des valeurs en JS vers du PHP dans la page courante.

Par contre avec une requete AJAX en JS tu peux envoyer des valeurs à un fichier php tiers et récupérer le résultat de l'exécution de ce fichier pour le traiter en JS, par exemple lors d'une action sur la page (choix dans une select box) tu va faire une requete pour envoyer au serveur la valeur du select choisi via un script php, ce script va te renvoyer une liste de valeurs que tu va récupérer en JS, et tu va pouvoir mettre à jour dynamiquement ta page avec ces données... Un exemple plus concret : une select box avec des pays, en fonction du pays choisi, une autre select box va apparaitre avec la liste des villes du pays.
0