Bonjour,
trois pages :
- main.php avec l'appel d'un fichier php (ci-dessous) pour y inclure du code
- getMetiers.php pour obtenier une liste de m�tiers
- traitement.php est le formulaire appel� par main.php pour traitement
main.php
... bla bla bla
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 <?php echo "<table width=100% class='SansBordures'>\n"; echo "<form name='traitement' method='post' action='./traitement.php' enctype='multipart/form-data'>\n"; echo "<tr><td></td>\n"; echo "<td align='Right'>Liste des métiers</td>\n"; echo "<td>\n"; echo "<div id='_metiers' style='display:inline'></div>\n"; echo "</td>\n"; echo "<td></td></tr>\n"; echo "<tr><td></td><td></td>\n"; echo "<td>".'<input tabindex=13 type="submit" style="WIDTH:100%;" value="Valider..." />'."</td>\n"; echo "<td></td></tr>\n"; echo "</form>\n" echo "</table>\n" ?>
getMetiers.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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44 function getXhr () { var xhr = null; // Firefox et autres if( window.XMLHttpRequest ) xhr = new XMLHttpRequest(); // Internet Explorer else if( window.ActiveXObject ) { try { xhr = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { xhr = new ActiveXObject("Microsoft.XMLHTTP"); } } else { alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); xhr = false; } return xhr; } function updateMetiers () { var xhr = getXhr(); xhr.onreadystatechange = function () { if( xhr.readyState == 4 && xhr.status == 200 ) { leselect = xhr.responseText; document.getElementById('_metiers').innerHTML = leselect; } } xhr.open("POST","getMetiers.php",true); xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); sel = document.getElementById('sousProjet'); sousProjet = sel.options[sel.selectedIndex].value; xhr.send("sousProjet="+sousProjet); } ... bla bla bla
Code php : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13 <?php if( isset($_POST["sousProjet"]) ) { $mesMetiers = $_SESSION["p_moi"]->ListeMetiersSociete(0); if( count($mesMetiers) ) { echo "<select id='metier_' name='metier_' style='WIDTH:100%;'>\n"; foreach( $mesMetiers as $mesMetier ) echo "<option value='$mesMetier[NIU]'>".$_SESSION["p_moi"]->EntiteesHtml($mesMetier["libelle"])."</option>\n"; echo "</select>\n"; } } ?>
traitement.php
Code php : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8 <?php if( isset($_POST) ) { ... bla bla bla MailTo("[email protected]", "-A-", "_POSTmetier_='".$_POST["metier_"]."' intval(metier_)='".intval($_POST["metier_"])."'", ""); ... bla bla bla } ?>
Tout se passe normalement, dans la page main.php je voit bien les m�tiers s'afficher, j'ai �mis un courriel dans le corps du fichier getMetiers.php pour tracer et j'y passe bien.
Lorsque je valide le formulaire main.php, je ne retrouve, dans le fichier traitement.php, pas la variable $_POST['metier_'] ($_POST['metier']='' elle est donc vide !!!)
C'est le cas pour deux variables mises � jours via un appel AJAX alors que toutes les autres variables $_POST (non AJAX) sont bien visibles dans le fichier traitement.php.
Une id�e ?
Par avance merci.
Partager