Bonjour à tous,
j'ai un bon gros problème, qui malgré tous les posts que j'essaye de lire depuis un moment ne se résoud pas...Je commence à me poser beaucoup de questions...
Bon alors pour commencer, parlons des choses qui marchent.
Si je fais deux fichiers :

test1.php :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
<?php
session_start();
$_SESSION['essai']="cela fonctionne !";
echo "<a href=\"test2.php\">vérifier la variable de session</a>";
?>
test2.php :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
<?php
session_start();
$valeur = (!isset($_SESSION['essai']))?("Cela ne fonctionne pas !"):($_SESSION['essai']);
echo $_SESSION['essai'];
?>
Tout marche impéc, je vois bien "cela fonctionne !".

Mon problème est lorsque que j'essaye de faire ca via ajax...
Voici mon index :
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
<?php
session_start();
?>
<html>
<head>
<meta http-equiv=content-type content="text/html; charset=UTF-8">
</head>
<body>
<table width="100%" height="100%" border="1">
	    <tr valign="top">
	        <td width="20%"> <?php require("menuLogin.php"); ?> </td>
	    </tr>
</table>
</body>
</html>
voici menuLogin.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
<table width="100%" height="20%" border="1">
    <tr>
        <td>
        	<form action="" method="post" id="formConnection">
				Login : <input type="text" name="login" id="login" value="" /><br />
				Mot de passe : <input type="password" name="mdp" id="mdp" value="" /><br />
				<input type="button" name="submit" value="envoyer" onclick="verif();">
			</form>
        </td>
    </tr>
    <tr>
    	<td>
    		<div id="resultatConnection"></div>
    	</td>
    </tr>
</table>
 
<script src="prototype.js" type="text/javascript"></script>  
<script type="text/javascript">
function verif(){
	var login = document.getElementById('login').value;
	var mdp = document.getElementById('mdp').value;
	var url ="verif.php";
    new Ajax.Request(url,{                
         method: 'post',
         parameters: Form.serialize("formConnection"),
         onComplete: function(transport) {
                 //transport.responseText sans tous les espaces:
                 if(transport.responseText.replace(/[\s]{2,}/g,"")=="OK"){
					window.location.replace("index2.php");
 
                 }
                 else{
                 	new Ajax.Updater('resultatConnection', 'connectionRefusee.php');
                 }
	}});		
}
 
</script>
mon verif.php qui est apellé par mon ajax.request :
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
<?php

//TODO : A VIRER !!
//destruction de toutes les variable de sessions

if(!empty($_POST['login']) && !empty($_POST['mdp']))
{
    $login = htmlentities($_POST['login'], ENT_QUOTES); 
    $mdp = htmlentities($_POST['mdp'], ENT_QUOTES);
    
    // on cripte le mot de passe envoyé par le formulaire
    $password_md5 = md5($mdp);
	
	require("pass/conf.php");
	
	// Connexion à la base de données
	$db_link = mysql_connect($sql_serveur,$sql_user,$sql_passwd);	
	$db  = mysql_select_db($sql_bdd);
	
	//création de la requête SQL
    $sql = "SELECT * FROM user WHERE login_user = '".$login."' AND pass_user = '".$password_md5."'"	;
    
	//exécution de la requête SQL
    $requete = @mysql_query($sql, $db_link) or die($sql."<br>".mysql_error()) ;
    
    //on récupère le résultat
    $result = mysql_fetch_object($requete) ;
    //si la requête s'est bien passée
    if(is_object($result))
    {
        $_SESSION['login'] = $login;
        echo 'OK';
    }
    else
    {
    	echo 'KO';
    }
 }
?>
et enfin mon index2.php qui est apellé si la vérification est OK :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
<?php
session_start();
echo $_SESSION['login'];
?>
Pas de problème du coté de la vérification, puisque lorsque je rentre un login+mot de passe valide, il me lance index2.php. Seulement j'obtiens l'erreur "Notice: Undefined index: login in ...\index2.php on line 3".
J'ai beau tout essayé, je ne comprend pas...j'ai l'impression que ma variable de session se paume quelque part pendant la redirection ajax. Bref si quelqu'un à la moindre idée, je suis preneur !
Merci beaucoup de me sortir de ce !@#% :p