Bonjour,
J'ai deux listes déroulantes dont le contenu de la deuxième dépent de la selection faite dans la première. Je fais ça avec une fonction javascript.
Puis je garde les valeurs séléctionnées dans $_SESSION.
Je réaffiche ces valeurs dans une autre page, là tout marche bien encore mais le problème est que je n'arrive pas à garder la séléction dans la deuxième liste déroulante quand je revient dans la première page.

Mon code :

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
51
52
53
54
55
56
57
 
<?
session_start();
?>
 
<html><!--ouverture page html-->
 
<head><!--ent-tête de la page html-->
<title>PROLOG</title>
	<SCRIPT language=JavaScript><!--
 
	listeHistologie = new Array();
	listeHistologie[0] = new Array("Histologie");
	listeHistologie[1] = new Array("carcinome épidermoïde ou malpighien");
	listeHistologie[2] = new Array("Adénocarcinome lieberkuhnien","Tumeur villeuse");
	listeHistologie[3] = new Array("Adénocarcinome lieberkuhnien","Tumeur villeuse");
	listeHistologie[4] = new Array("Adénocarcinome lieberkuhnien","Tumeur villeuse");
	listeHistologie[5] = new Array("Adénocarcinome lieberkuhnien","Tumeur villeuse");
	listeHistologie[6] = new Array("");
<!--(................)-->
 
 
 
//fonction qui change la liste déroulante listeB(histologie)  en fonction de la selection dans la liste déroulante listeA(localisation primitive)
function changeliste()
{
choix=document.getElementById("listeA").value; //la value de la localisation primitive choisie (clef de listeCancer)	
t='<select name="listeB" id="listeB">'; //ouverture de la balise <select> avec ses attributs 
for(i=0;i<listeHistologie[choix].length;i++) //pour (i= 0; i<longueur du tableu listeHistologie[value du Cancer choisie]; i++)
{
	//rajout après <select> des options avec la valeur i du tableau listeHistologie[choix] 
	t+="<option value='"+listeHistologie[choix][i]+"' <?php if ($_SESSION['histo']=='"+listeHistologie[choix][i]+"') {print "selected";}?>>"+listeHistologie[choix][i]+"</option>";				
	}
	//change le contenu de la balise <A> de id=listeB_div en t et fermeture de la balise <select>	
	document.getElementById("listeB_div").innerHTML=t+'</select>';
	}		
--></script>
 
<!--(................)-->
<FORM id='monform' method='post' action='classification.php5' name='monform'>
<b>Localisation primitive :</b>&nbsp <A id=listeA_div>
	<SELECT id=listeA onchange=changeliste() onChange=afficheClass() onClick=acceschamp() name=listeA>
	<option value=0 <? if ($_SESSION['loca']=='0') {print "selected";}?> selected>autres</option>
	<option value=1 <? if ($_SESSION['loca']=='1') {print "selected";}?>>cavité buccale/lèvres</option>
	<option value=2 <? if ($_SESSION['loca']=='2') {print "selected";}?>>colon bilatéral</option>
	<option value=3 <? if ($_SESSION['loca']=='3') {print "selected";}?>>colon droite</option>
	<option value=4 <? if ($_SESSION['loca']=='4') {print "selected";}?>>colon gauche</option>
	<option value=5 <? if ($_SESSION['loca']=='5') {print "selected";}?>>rectum</option>
<!--(................)-->
 
 
<b>Histologie : </b><A id=listeB_div>
	<SELECT id=listeB name=listeB>
	<OPTION selected></OPTION>
	</SELECT></A></center>
 
<input type='submit' value='continuer'>

avec
dans la deuxième page
$histo=$_POST['listeB];
$_SESSION['histo']=$histo;

Merci de vos aides