Bonjour à tous,
Quand je recharge ma page ou quand je change de page, je perds ma session.
1) je me logue via un formulaire.
2) grâce à l'AJAX, je vérifie que le pseudo et le mot de passe et bon.
3) si tout est ok, redirection vers ma page principale (main.php)
mes différents code :
connexion.html
connexion.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 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Untitled Document</title> <link type="text/css" rel="stylesheet" href="/projet/css.css" /> <SCRIPT LANGUAGE="Javascript" SRC="js/js.js"> </SCRIPT> <SCRIPT LANGUAGE="Javascript" SRC="js/connexion.js"> </SCRIPT> </head> <body> <div id="tout"> <div id="banniere"><img src="images/ban_coeur.jpg" /></div> <div id="int"> <div id="gauche"><div id="date"></div> <a href="connexion.html">CONNEXION</a> <a href="inscription.html">S'INSCRIRE</a> </div> <div id="droit">Pour vO_ous connecter, veuillez remplir les champs suivants<br /> <form method = "post" action="connexion.php" name="connexion" onsubmit="putain(); return false;"> <div id="mauvais"></div> Votre pseudo<input type="text" name="pseudo"/><br /> Votre mot de passe<input type="password" name="mdp"/><br /> <input type="submit" /> </form> </div> </div> </div> </body> </html>
code ajax (connexion.js) :
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 <?php session_start(); header('Content-Type: text/html; charset=UTF-8'); mysql_connect("sql.free.fr", "cc", "vv", "cc") or die("Impossible de se connecter : " . mysql_error()); mysql_select_db("cc") or die("erreur de connexion a la base de donnees"); $requete = "SELECT COUNT(*) AS nbr, id_users FROM users WHERE pseudo = '".$_POST['pseudo']."' AND mdp = '".$_POST['mdp']."'"; $quer = mysql_query($requete) or die("requete non envoyée"); $res = mysql_fetch_assoc($quer) or die("requete non reçue"); if($res[nbr] == 1){ echo "ok"; $insert = "UPDATE users SET connexion='oui' WHERE id_users = '".$res['id_users']."'"; mysql_query($insert); $_SESSION['pseudo'] = $_POST['pseudo']; } else { echo "non"; } ?>
main.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 function putain() { if(window.XMLHttpRequest){ // Pour tous les navigateurs req = new XMLHttpRequest(); } else{ if(window.ActiveXObject){ // Pour IE req = new ActiveXObject("Microsoft.XMLHTTP"); } } pseudo= document.connexion.pseudo.value; mdp = document.connexion.mdp.value; content_mdp = document.getElementById("mauvais"); req.open("POST","connexion.php", "true"); req.onreadystatechange = function() { if (req.readyState == 4 && req.status==200) { if(req.responseText == "non") { content_mdp.innerHTML ="mauvais identifiants"; return false; } if(req.responseText == "ok") { document.location.href="main.php"; } } } req.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); req.send('pseudo='+pseudo+'&mdp='+mdp); }
Dans mon main.php, je vois bien le pseudo, après connexion.
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 <?php session_start(); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Untitled Document</title> <link type="text/css" rel="stylesheet" href="/projet/css.css" /> <SCRIPT LANGUAGE="Javascript" SRC="js/js.js"> </SCRIPT> <SCRIPT LANGUAGE="Javascript" SRC="js/les_connectes.js"> </SCRIPT> </head> <body> <div id="tout"> <div id="banniere"><img src="images/ban_coeur.jpg" /></div> <div id="int"> <div id="gauche"><div id="date"></div> <?php if ($_SESSION['pseudo']){ echo "Bienvenue ". $_SESSION['pseudo']."<br>"; echo " <a href='deconnection.php'>DECONNECTION</a>"; } else { ?> <a href="connexion.html">CONNEXION</a> <? } ?> <a href="inscription.html">S'INSCRIRE</a><br /> <a href="preschezvous.php&pseudo=<?php echo $_SESSION['pseudo']; ?>">Les personnes près de chez vous ! </a> <br /><div style="color:#003399";>Les connectés</div> <div id="connectes"></div> </div> <div id="droit">TEST 2</div> </div> </div> </body> </html>
Et donc, quand je recharge ma page ou que j'en change, ma session a disparu.
Quelqu'un pourrait il m'aider?
Merci
Partager