variable session détruite changement page
Bonjour à tous et à toutes.
J'ai un problème et je vous le présente en espérant que vous pourriez m'aider.
J'ai plusieurs pages php :
-un formulaire pour pouvoir se connecter (loginBlog.php)
-un test pour se connecter (exploitationLogin.php)
-un affichage des séjours en fonction du login (choixSejour.php)
-une déconnection (deconnection.php)
Après validation du formulaire loginBlog.php, une variable $_session['login'] est créée.
Mon problème est le suivant : Ma variable de session est perdue lors d'un changement de page, excepté sur exploitationLogin.php (où elle est créée) et sur choixSejour (ou une requête l'utilise).
J'ai des session_start au début de chacune de mes pages et j'ai testé l'affichage de $_session['login'] sur les différentes pages.
Je n'arrive pas à comprendre pourquoi ma variable de session est apparemment détruire sur les autres pages.
Ps: j'utilise easyphp, sur Chrome.
Ci-dessous mon code.
Le formulaire (loginBlog.php)
Code:
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
| <?php session_start(); ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Association Services Loisirs Vacances - Tourisme Adapte</title>
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
<link href="../styles/style.css" rel="stylesheet" type="text/css" media="screen" />
<link rel="shortcut icon" type="image/x-icon" href="http://www.picdo.net/fichiers/2010/4/8/96cc22fe-9c05-4c78-bee6-e683a6d07c6b_favicon.ico" />
<script language="javascript">
function verif(form)
{
if (form.login.value == '')
alert('Saisissez votre login');
else if (form.mdp.value == '')
alert('Saisissez votre mot de passe');
else form.submit();
}
</script>
</head>
<body>
<div id="body1">
<!-- Bannière de haut de page -->
<div id="header">
</div>
<div id="body2">
<div id="date">
<p> Nous sommes le
06 janvier 2015 </p>
</div>
<!-- La zone principale de texte et d'affichage des articles -->
<div id="zone_centrale">
<div id="centre_h_a">
<img src="../images/centre_h_a.png" alt="Centre_h" />
</div>
<div id="centre_m_a">
<div id="zone_txt">
<div class="zone_login">
<p> <font size='4'><b>Connexion au blog</b></font> </p>
<!--formulaire-->
<form method="post" action="exploitationLogin.php">
Login: <input type="text" name="login" class="box" style="margin-left: 50px;" placeholder='login'><br/>
Mot de passe: <input type="password" name="mdp" class="box" placeholder='mot de passe'><br /><br />
<input type="button" value = "Valider" onClick = "verif(this.form)" class="box">
</br></br><a href="../index.php">Retour</a><br>
</form>
</div>
</div>
</div>
<div id="centre_b_a">
<img src="../images/centre_b_a.png" alt="Centre_b" />
</div>
</div>
</div>
</div>
<!-- Pied de page -->
<div id="footer"><div id="img_footer"><img src="../images/txt_aslv.png" alt="Association Service Loisirs Vacances - 6 rue des Clairons - 54210 Saint Nicolas de Port" /></div></div>
</body>
</html> |
L'exploitation du formulaire (exploitationLogin.php)
Code:
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
| <?php
session_start();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Association Services Loisirs Vacances - Tourisme Adapte</title>
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
<link href="../styles/style.css" rel="stylesheet" type="text/css" media="screen" />
<link rel="shortcut icon" type="image/x-icon" href="http://www.picdo.net/fichiers/2010/4/8/96cc22fe-9c05-4c78-bee6-e683a6d07c6b_favicon.ico" />
<head>
<body>
<!-- Fonction PHP session et date -->
<!-- Fin de la fonction -->
<div id="body1">
<!-- Bannière de haut de page -->
<div id="header">
</div>
<div id="body2">
<div id="date">
<p> Nous sommes le
06 janvier 2015 </p>
</div>
<!-- La zone principale de texte et d'affichage des articles -->
<div id="zone_centrale">
<div id="centre_h_a">
<img src="../images/centre_h_a.png" alt="Centre_h" />
</div>
<div id="centre_m_a">
<div id="zone_txt">
<center>
<?php
//connexion au serveur
$db = mysql_connect('localhost', 'root', '');
//choix de la base
mysql_select_db('carnetdevoyage', $db);
//requête
$reqLogMdp = "SELECT IdeLogin, IdeMdp
FROM identifiant
WHERE IdeLogin = '".$_POST['login']."'
AND IdeMdp = '".$_POST['mdp']."'";
$resultreq = Mysql_query($reqLogMdp);
//si il y a un résultat on connecte
if($row = Mysql_Fetch_row($resultreq)){
//sauvegarde du login dans une variable de session
$_SESSION['login'] = $row[0];
echo ("Bienvenue <b>".$_SESSION['login']."</b><br>");
echo ("Vous allez être redirigé automatiquement.<br>");
header("refresh: 3; URL=choixSejour.php");
echo ("<a href='choixSejour.php'>Cliquez ici si vous n''êtes pas redirigé automatiquement</a>");
}
//sinon on le renvoie au formulaire
else {
echo ("Identifiant ou mot de passe <b>incorrect</b></br>");
//echo ("Vous allez être redirigé automatiquement.<br>");
header("refresh: 3; URL=loginBlog.php");
echo ("<a href='loginBlog.php'>Cliquez ici si vous n''êtes pas redirigé automatiquement</a>");
}
?>
</center>
</div>
</div>
<div id="centre_b_a">
<img src="../images/centre_b_a.png" alt="Centre_b" />
</div>
</div>
</div>
</div>
<!-- Pied de page -->
<div id="footer"><div id="img_footer"><img src="../images/txt_aslv.png" alt="Association Service Loisirs Vacances - 6 rue des Clairons - 54210 Saint Nicolas de Port" /></div></div>
</body>
</html> |
La page d'affichage des séjours en fonction du login (choixSejours.php)
Code:
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
| <?php session_start(); ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Association Services Loisirs Vacances - Tourisme Adapte</title>
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
<link href="../styles/style.css" rel="stylesheet" type="text/css" media="screen" />
<link rel="shortcut icon" type="image/x-icon" href="http://www.picdo.net/fichiers/2010/4/8/96cc22fe-9c05-4c78-bee6-e683a6d07c6b_favicon.ico" />
</head>
<body>
<!-- Fonction PHP session et date -->
<!-- Fin de la fonction -->
<div id="body1">
<!-- Bannière de haut de page -->
<div id="header">
</div>
<div id="body2">
<div id="date">
<p> Nous sommes le
06 janvier 2015 </p>
</div>
<!--centrage des post-it-->
<center>
<br>
<!--bouton quitter-->
<div align='center'>
<a href='deconnection.php'><button> Quitter </button></a>
</div>
<br>
<!--ouverture du tableau-->
<?php echo "<table border = 0><tr><td>";?>
<!-- Le menu des séjours -->
<div id="menu1">
<div class="menu_h">
<img src="../images/menu_h.png" alt="Menu_h" />
</div>
<div class="menu_m">
<p class="titre_menu">Sejour</p>
<center>
<?php
//connexion au serveur
$db = mysql_connect('localhost', 'root', '');
//choix de la base
mysql_select_db('carnetdevoyage', $db);
//définition de UTF8 sur la chaîne de connexion
//afin d'éviter le problème des caractères spéciaux ou accents
mysql_query("SET NAMES UTF8");
//requête pour afficher la liste des séjours auquel on a participé
$reqSejour = "SELECT SejVille, SejPays, SejDateDebut, SejDateFin, SejId
FROM identifiant, participer, sejour
WHERE identifiant.IdeId = participer.ParIdeId
AND participer.ParSejId = sejour.SejId
AND IdeLogin = '".$_SESSION['login']."'
ORDER BY SejDateDebut";
$resultreq = Mysql_query($reqSejour);
//si on a déjà participé
if($row = Mysql_Fetch_row($resultreq)){
//affichage de la ligne 1 dans la première case du tableau
echo "<a href='article.php?sejourId=".$row[4]."'>".$row[0]."</a><br>";
echo $row[1]."<br>";
echo $row[2]."<br>";
echo $row[3]."<br>";
?>
</div>
<div class="menu_b">
<img src="../images/menu_b.png" alt="Menu_b" />
</div>
</div>
<?php
echo "</td>";
//on initialise un compteur pour revenir à la ligne au 5ème <td>
$compteur = 1;
//le tant_que affiche les autres lignes. Il n'affiche rien s'il n'y en a pas
while($row = Mysql_Fetch_row($resultreq)){
//test pour fermer une deuxième ligne
if ($compteur % 3 == 0)
{echo "</tr><tr>";}
$compteur += 1;
//cases du tableau
echo "<td>";
?>
<!-- Le menu des séjours -->
<div id="menu1">
<div class="menu_h">
<img src="../images/menu_h.png" alt="Menu_h" />
</div>
<div class="menu_m">
<p class="titre_menu">Sejour</p>
<center>
<?php
echo "<a href='article.php?sejourId=".$row[4]."'>".$row[0]."</a><br>";
echo $row[1]."<br>";
echo $row[2]."<br>";
echo $row[3]."<br>";
?>
</center>
</div>
<div class="menu_b">
<img src="../images/menu_b.png" alt="Menu_b" />
</div>
</div>
<!--le menu des séjours est fermé ici-->
<?php
//fermeture des cases
echo "</td>";
}
//fermeture du tableau
echo "</table>";
}
//sinon on a participé à aucun séjour
else {
echo ("<p>Vous n'avez participé <br>à aucun séjour</p>");
}
?>
</center>
</div>
</div>
</div>
<!-- Pied de page -->
<div id="footer"><div id="img_footer"><img src="../images/txt_aslv.png" alt="Association Service Loisirs Vacances - 6 rue des Clairons - 54210 Saint Nicolas de Port" /></div></div>
</body>
</html> |
La page déconnection (deconnection.php)
Code:
1 2 3 4 5
| <?php
session_start();
session_destroy();
header('Location: ../index.php');
?> |
Merci d'avance pour votre aide.
Cordialement.