Bonsoir,

Mes variables de sessions ne sont pas transmises. J'ai 4 pages :

Page test3_1.php : L'utilisateur arrive sur une page sécurisée par login et mot de passe, j'inclue le fichier qui gère la session pour vérifier la présence du mot de passe en variable de session -> test3_3.php.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
<?php 
include('test3_3.php');
?>
essai
Page test3_3.php : Si le mot de passe n'existe pas j'inclue le formulaire d'identification avec une fenêtre modale via le fichier test3_2.php.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
<?php 
session_start();
 
if(!$_SESSION['mdp']) {
include('test3_2.php'); 
//exit();
}
$_SESSION['matric'];
$_SESSION['mdp'];
?>
test3_2.php : L'utilisateur remplit le formulaire, une requête ajax transmet le login et le mot de passe à la page test3_4.php. (Je me sers de jquery)
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
<!DOCTYPE html>
<html>
<head>
<link href="jquery/jquery-ui-1.8.1.custom.css" rel="stylesheet" type="text/css"/>
<script src="jquery/jquery-1.4.2.min.js"></script>
<script src="jquery/jquery-ui-1.8.1.custom.min.js"></script>
<script>
		$(document).ready(function(){
			$(function() {
				$("#dialog-modal").dialog({
					height: 180,
					resizable: false,
					modal: true
				});
			});
			$("#form").submit( function() {
					$.ajax({
					 type: "POST",
					 url: "test3_4.php",
					 dataType: "html",
					 data: "login="+$("#login").val()+"&mdp="+$("#mdp").val(),
					 success: function(msg){
						if(msg==1)
						{
							$("#dialog-modal").dialog("destroy");
						}
						else
						{
							$("div#erreur").html("Echec !");
						}
					 }
				});
				return false;
			});
});
</script>
<style>
#dialog-modal
{
position: relative;
top: 35px;
left: 10px;
}
</style>
</head>
<body style="font-size:62.5%;">
	<div id="dialog-modal" title="IDENTIFICATION">
		<form method="POST" action="" id="form" value="form1">
			<table id="tab" cellspacing="7">
				<tr>
					<th>Login</th>
					<td><input type="text" id="login" value=""/></td>
				</tr>
				<tr>
					<th>Mot de passe</th>
					<td><input type="password" id="mdp" value=""/></td>
				</tr>
				<tr>
					<td><input type="submit" id="btn" value="Valider" /></td>
				</tr>
			</table>
			<div id="ok"></div>
			<div id="erreur"></div>
		</form>
	</div>
</body>
</html>
test3_4.php : Je traite les données en venant les comparer à celle de la BDD, si ok, je met en variable de session le login et le mot de passe et je renvoi 1 à jquery pour qu'il ferme la fenêtre modale. le problème est que quand tous ceci se termine et que je suis logué sans erreur, je test en faisant un F5 et le fenêtre d'identification réapparait, comme si mes variables de session ne sont pas prisent en compte., et je n'ai pas trouvé pourquoi.
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
<?php
(Je me connecte)
 
if((!$link) || (!$db)) {
    die('Erreur de connexion à MSSQL');
	} 
 
$login = $_POST['login'];
$mdp = $_POST['mdp'];
 
$r1 = mssql_query("SELECT matric, mdp FROM USERS WHERE matric = '".$login."' AND mdp = '".$mdp."'");
$tab1 = mssql_fetch_array($r1);
if($tab1['matric'] && $tab1['mdp'])
{
	echo 1;
	$_SESSION['matric'];
	$_SESSION['mdp'];
} 
else 
{
	echo 2;
}
 
?>
Merci pour votre aide