Bonjour,
je fais un site et je me connecte pour pouvoir effectuer certaines opérations. Mais 2 de mes pages posent problème.
1-) Je choisis une personne dans une liste (chercher_user.php) et je veux afficher toutes les informations la concernant (fiche_user.php). Lorsque je passe à fiche_user.php, je suis automatiquement déconnectée. Je ne comprend pas car j'ai une autre page (afficher_users.php) qui fait appel à fiche_acteur.php et quand je passe de afficher_users.php à fiche_acteur.php il n'y a aucun problème, je reste bien connectée.
2-)Je veux enregistrer un nouvel acteur (ajouter_user.php) et quand je clique sur valider, je me déconnecte et la page se recharge.

voilà les codes:
chercher_user.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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
 
<?php 		session_start();
 
			include_once ("fonctions.php");	
			include_once ("fonctionsjs.php");	
 
			if ((!isset($_SESSION['mail'] ))&& (!isset($_SESSION['pwd'])))
				{	
					$lebas=1;
				}
 
			else 
				{
					$lebas=2;	
				}
 
			entete("Rechercher un acteur", $lebas);
 
			connexion();
/*******************************************************************************************/
?>
			<form method="post" id="form" id="etat">
				<fieldset class="absence_personne"> <legend> Rechercher une personne </legend>
					<table cellspacing=20 cellpadding=2 align="center">
						<span id="erreur"> </span>	 
						<tr>	<label>
							<td> Choisir un acteur  </td>	
							<td> <font color="red" size=2> * </font> <select name="personne" id="etat">	<option> </option>
								<?php	$val =''; liste_nom("tout", $val);	?>
								</select> </td>
						</label>	</tr>
 
	<tr>	<label>
								<td> </td> 	<td align="center"> <input type="submit" name="sauver" value="Chercher" onclick="return verifier_ajout();" /> 
													<a href="index.php" style="text-decoration: none">	<input type="submit" name="annulation" value="Annuler" /> </a></td>
													<!-- le input de 'annuler' se comportait de la mm façon que 'chercher', j'ai donc été obligée de mettre un <a href> pour retourner à l'accueil  -->
	</label>	</tr>
 
					</table>
				</fieldset>
			</form>
 
<?php
 
	if (isset($_POST['sauver']))
		{
			$acteur = verifier_isset('personne');
 
			if(empty($acteur))
				echo '<script ttype="text/javascript"> alert("Veuillez choisir un acteur"); </script>';
 
			else
				header('location: fiche_user.php?personne='.$acteur.'');	
		}
 
 
?>
 
		</div>
	</body>
</html>
je l'avais fait d'abord en mettant <form method="post" action="fiche_user.php" ....>, puis j'ai changé quand j'ai constaté l'erreur, mais ça persiste.

Le code de fiche_user.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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
 
<?php 		session_start();
 
			include_once ("fonctions.php");	
			include_once ("fonctionsjs.php");	
 
			connexion();
 
				//vérification de la session 
			if ((!isset($_SESSION['mail'] ))&& (!isset($_SESSION['pwd'])))
				{	
					$lebas=1;
				}
 
			else 
				{
					$lebas=2;	
				}
 
			entete("Fiche acteur", $lebas);	
 
			if(isset($_GET['personne']))		//récupération de la personne de la page afficher_users.php à travers <a href...>
				$personne = $_GET['personne'];
 
			else 
				$personne = verifier_isset("personne");
 
			if (!empty($personne))
				{		
					echo '<div class="div1">';
					//recherche de l'identifiant d ela personne
					$lid1 = mysql_query('select id, profil, email, telephone, acteur from personne where acteur="'.$personne.'"');
 
					if ($lid2=mysql_fetch_assoc($lid1))
						{
							echo '<table cellspacing=40 cellpadding=10 align="center" id="tab_acteur"> <caption> <b><u>Informations personnelles</u></b> <br/><br /> </caption>';
 
							$identif = $lid2['id'];		//récupération de l'id pour les comparaisons ultérieures
 
							echo '<tr> <td> Acteur </td> <td>'.$lid2['acteur'].'</td> </tr>';
							echo '<tr> <td> Profil </td> <td>'.$lid2['profil'].'</td> </tr>';
							echo '<tr> <td> E-mail </td> <td>'.$lid2['email'].'</td> </tr>';
							echo '<tr> <td> Téléphone </td> <td>'.$lid2['telephone'].'</td> </tr>';
 
								//compte le nombre de fois que la personne apparait dans la table absence
							$absence = mysql_query('select COUNT(*) from absences where id="'.$identif.'"');
							$nb_absence = mysql_fetch_assoc($absence);
							if (!empty($nb_absence))
								echo '<tr> <td> Nombre d\'absences </td> <td>'.$nb_absence['COUNT(*)'].'</td> </tr>';
							else if (empty($nb_absence))
								echo '<tr> <td> Nombre d\'absences </td> <td> 0 </td> </tr>';
 
								//compte le nombre de fois que la personne apparait dans la table activite
							$activites = mysql_query('select COUNT(*) from activite where id_acteur_pack="'.$identif.'" or id_acteur_qualif="'.$identif.'"');
							$nb_activites = mysql_fetch_assoc($activites);
							if (!empty($nb_activites))
								echo '<tr> <td> Nombre d\'activités </td> <td>'.$nb_activites['COUNT(*)'].'</td> </tr>';
							else
								echo '<tr> <td> Nombre d\'activités </td> <td> 0 </td> </tr>';
 
							//compte le nombre de fois que la personne apparait dans la table demande
							$demandes = mysql_query('select COUNT(*) from demande where id_acteur_cpi="'.$identif.'"');
							$nb_demandes= mysql_fetch_assoc($demandes);
							if (!empty($nb_demandes))
								echo '<tr> <td> Nombre de demandes </td> <td>'.$nb_demandes['COUNT(*)'].'</td> </tr>';
							else
								echo '<tr> <td> Nombre de demandes </td> <td> 0 </td> </tr>';	
 
							echo '</table> <br/><br/>';
						}
 
					echo '<pre align="center">                                          
					<a href="modifier_infos_user.php?personne='.$identif.'" >Modifier</a>         <a href="chercher_user.php">Retour recherche</a> 	<a href="afficher_users.php">Liste des acteurs</a>	</pre>';
 
					echo "</div>";
 
					echo "<div class='div2'>";
							// ses absences
						$lesabsences = mysql_query('SELECT nature, date_debut, date_fin	FROM absences WHERE  id="'.$identif.'"');
						$ligne_ab = mysql_num_rows($lesabsences); 
 
								echo '<p style="text-align: center;"> <b><u>Absences</u></b> </p>';
 
								if(empty($ligne_ab))		//si l'acteur n'est pas dans la table absence
									echo "<p align='center'> Aucune absence enregistrée </p>";
 
								else
									{
										echo '<table cellspacing=20 align="center" id="tab_acteur"> 
										<th> Absences </th> <th> Début </th> <th> Fin</th>';
 
										while($resultat1 = mysql_fetch_assoc($lesabsences))
											{
													echo '<tr align="center">';
												echo '<td>'.$resultat1['nature'].'</td>';
													$ddebut = formater_date($resultat1['date_debut']);
													$dfin = formater_date($resultat1['date_fin']);
												echo '<td>'.$ddebut.'</td>';
												echo '<td>	'.$dfin.'</td>';
													echo '</tr>';
											}
									}
								echo '</table> <br/><br/>';
					echo '</div>';
 
					echo '<div class="div3">';
								//activités dans lesquelles il figure
 
						$activite = mysql_query('SELECT code_application, version_application, TM, version_TM, type_activite
													FROM activite WHERE id_acteur_pack="'.$identif.'" or id_acteur_qualif="'.$identif.'"');
						$ligne_ac = mysql_num_rows($activite); 
 
						echo '<p style="text-align: center;"> <b><u>Projets</u></b> </p>';
 
						if(empty($ligne_ac))				//si l'acteur n'est pas dans la table activité
							echo '<p align="center"> Vous n\'avez travaillé sur aucun projet </p>';
 
						else 
							{	
								echo '<table cellspacing=2 cellpadding=10 align="center" id="tab_acteur"> 
										<th> Application </th> <th> Code </th> <th> Version </th> <th> Module</th> <th> Version module </th> 
										<th> Etat module </th> <th> Activité </th>';
 
								while($resultat2 = mysql_fetch_assoc($activite))
									{
											echo '<tr align="center">';
										echo '<td>'. get_application($resultat2['code_application']).'</td>';	//nom de l'application			
										echo '<td>'.$resultat2['code_application'].'</td>';
										echo '<td>'.$resultat2['version_application'].'</td>';
										echo '<td>'.$resultat2['TM'].'</td>';
										echo '<td>'.$resultat2['version_TM'].'</td>';
										echo '<td>'.$resultat2['type_activite'].'</td>';
											echo '</tr>';
									}
 
								echo '</table> <br/><br/>';
							}	
					echo '</div>';
 
					echo '<div class="div4">';
					//demandes par lesquelles l'acteur est concerné
						$demande = mysql_query('SELECT 	libelle, application, version_application, debut_demande, fin_demande, fingesdem, etat_protocole, 
														date_protocole, etat_bilan, date_bilan, etat_demande
													FROM demande WHERE id_acteur_cpi="'.$identif.'"');
						$ligne_d = mysql_num_rows($demande);
 
						echo '<p style="text-align: center;"> <b><u>Demandes</u></b> </p>';
 
						if(empty($ligne_d))
							echo " <p align='center'> Vous n'êtes concerné par aucune demande </p> ";
 
						else 
							{	
								echo '<table cellspacing=2 cellpadding=10 id="tab_acteur"> 
										<th> Libellé </th> <th> Application </th> <th> Version </th> <th> Début </th> <th> Fin </th> 
										<th> Etat </th> <th> Protocole </th> <th> Date protocole </th> <th> Bilan </th> <th> Date bilan </th>';
 
								while($resultat3 = mysql_fetch_assoc($demande))
									{
											echo '<tr align="center">';
 
										echo '<td>'.$resultat3['libelle'].'</td>';
										echo '<td>'.$resultat3['application'].'</td>';
										echo '<td>'.$resultat3['version_application'].'</td>';
										echo '<td>'.$resultat3['debut_demande'].'</td>';
											$find = formater_date($resultat3['fin_demande']);
										echo '<td>'.$find.'</td>';
										echo '<td>'.$resultat3['etat_demande'].'</td>';
										echo '<td>'.$resultat3['etat_protocole'].'</td>';
											$dproto = formater_date($resultat3['date_protocole']);
										echo '<td>'.$dproto.'</td>';
										echo '<td>'.$resultat3['etat_bilan'].'</td>';
											$dbilan = formater_date($resultat3['date_bilan']);
										echo '<td>'.$dbilan.'</td>';
 
											echo '</tr>';
									}
 
								echo '</table>';
							}	
					echo '</div>';
				}
			else 
				header('location: chercher_user.php');
?>
		</div>
	</body>
</html>
celui de ajouter_user.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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
 
<?php 	session_start();
 
		include_once ("fonctions.php");	
		include_once ("fonctionsjs.php");			
 
		connexion();
 
		if ((!isset($_SESSION['mail'] ))&& (!isset($_SESSION['pwd'])))
			{	
				refuser();
				$lebas=1;
				echo "<script type='text/javascript'> history.back(); </script>";  // retour à la page d'où on a demandé l'accès à une page protégée
			}
 
		else 
			{
				$lebas=2;
			}
 
		entete("Nouvell acteur", $lebas);
 
?>
 
	<form method="post" id="form" >
						<fieldset class="absence_personne"> <legend> Nouvel acteur </legend>
							<table cellspacing=20 cellpadding=2 align="center">
 
								<div id="erreur"> </div>	 
 
								<tr>	<label>
									<td> Nom  <font color="red" size=2> * </font> </td>	<td> <input type="text" name="nom" id="nom" size=30 value="<?php if(isset($_POST['nom'])) echo $_POST['nom']; ?>" /> </td>
								</label>	</tr>
 
								<tr>	<label>
									<td> Prénom <font color="red" size=2> * </font> </td>	 <td> <input type="text" name="prenom" id="prenom" size=30 value="<?php if(isset($_POST['prenom'])) echo $_POST['prenom']; ?>" /> </td>
								</label>	</tr>
 
								<tr>	<label>
									<td> Profil </td>	 
									<td> <select name="profil" id="profil" onchange="champ_pwd()">
										<?php $val = ''; liste_profils($val);?>
									</select> </td>
								</label>	</tr>
 
								<tr>	<label>
									<td> E-mail <font color="red" size=2> * </font> </td>	 <td> <input type="text" name="email" id="mail" size=30 value="<?php if(isset($_POST['email'])) echo $_POST['email']; ?>" /> </td>
								</label>	</tr>
 
								<tr>	<label>
									<td> Mot de passe </td>	 <td>  <input type="hidden" name="pwd" id="pwd" size=30 /> </td>
								</label>	</tr>
 
								<tr>	<label>
									<td> Téléphone </td>	 <td> <input type="text" name="tel" size=30 value="<?php if(isset($_POST['tel'])) echo $_POST['tel']; ?>"  /> </td>
								</label>	</tr>
 
								<tr>	<label>
									<td> </td> 	<td align="center"> <input type="submit" name="sauver" value="Enregistrer" onclick="return verifier_ajout_personne();" /> 
																	<input type="submit" name="annulation" value="Annuler" /> </td>
								</label>	</tr>
								<tr> </tr>
 
							</table>
					</fieldset>
				</form>
 
<?php
 
			if (isset($_POST['sauver']))	//si on appuie sur "Enregistrer", récupérer les valeurs saisies 
				{
					$nom = verifier_isset("nom");
					$prenom = verifier_isset("prenom");
					$profil = verifier_isset("profil");
					$email = verifier_isset("mail");
					$pwd = verifier_isset("pwd");
					$tel = verifier_isset("tel");
 
							//vérification côté serveur au cas où javascript serait désactivé ou poserait problème
					if (empty($prenom) or empty($email) or empty($nom))
						echo '<script type="text/javascript"> alert( "Vous devez remplir les champs nom, prénom et e-mail"); </script>';
 
					else
						{
							if (verifiermail($email))	//format email valide
								{																							
									$mail = mysql_query('select email from Personne where email="'.$email.'"');
									$ligne = mysql_num_rows($mail);
 
									if (!empty($ligne))	//si l'email existe déjà
										{
											echo '<script type="text/javascript">	alert ("Cette personne est déjà enregistrée");	</script>';
										}
									else if (empty($ligne))
										{
											$acteur = "$prenom $nom";
											$double = mysql_query('select email from Personne where acteur="'.$acteur.'"');
											$ligne2 = mysql_num_rows($double);
 
											if (!empty($ligne2))
												{
													echo '<script type="text/javascript">	alert ("Attention, une autre personne porte les mêmes noms et prénom");	</script>';
												}
 
											$inserer = mysql_query(' INSERT INTO Personne VALUES("", "'.$acteur.'", "'.$profil.'", "'.$email.'", "'.$pwd.'", "'.$tel.'")');												
 
											if ($inserer)
												{ 
													echo '<script type="text/javascript">	alert (" Nouvel acteur enregistré ");	</script>';
												}
											else 
												echo '<script type="text/javascript">	alert ("Erreur pendant l\'enregistrement");	</script>';
										}
								}		
 
							else	//format email invalide
								{
									echo '<script type="text/javascript">	alert ("L\'adresse email est invalide") </script>';													
								}
						}
				}
				//si appui sur annuler
			retour_annuler("index");
?>
		</div>
	</body>
</html>

Les liens entre les autres pages ne posent de problème de connexion et j'ai bien sauvé les variables de session à l'authentification.

ça n'arrive que sous FF pas sous IE7

++