Bonjour à tous, je découvre petit à petit (depuis aujourd'hui) l'utilisation des sessions avec PHP pour réaliser un système de membres et message de ces membres (type forum).

J'ai commencé par vouloir réaliser l'authentification des membres seulement un problème survient. Pour tester mon script j'ai essayé de me connecter avec un identifiant qui n'est pas dans la base et donc vérifié que mon message d'erreur s'affiche bien dans c'est cas là. Le problème est que maintenant même si je ferme mon navigateur et que j'ouvre ma page d'accueil le message d'erreur et les donnée erronée que j'avais rentrée pour mon test s'affichent par défaut.

Voici mon code :

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
<?php
session_start();
if (isset($_SESSION['login']) && isset($_SESSION['pass']))
{
  echo'<table border="0" cellspacing="0" id="tableaudirect">';
  echo'<tr>';
  echo'<td width="200">';
  echo '<p>Bienvenu(e)'.$_SESSION['login'].'<br>';
  echo '<a href="" onclick='.session_destroy().'>Se déconnecter</a></p>';
  echo '</td></tr></table>';
}
else
{
echo'<table border="0" cellspacing="0" id="tableaudirect">';
echo'<tr>';
echo'<td width="200">';
echo'<font size="1">';
echo'<p>';
echo'<form action="'.$_SERVER['PHP_SELF'].'" method="post" name="identification">';
echo'&nbsp; <font face="Verdana"><b>Login :</b></font> <input type="text" name="login" size="14" value="" STYLE="color:#ff7e00;font-family:Verdana;font-size:10px;background-color:#FFFFFF;padding:3px;border-width:1px;border-color:#000000;border-style:solid;">';
echo'<br>';
echo'&nbsp; <font face="Verdana"><b>Password :</b></font> <input type="password" name="pass" size="14" STYLE="color:#ff7e00;font-family:Verdana;font-size:10px;background-color:#FFFFFF;padding:3px;border-width:1px;border-color:#000000;border-style:solid;">';
echo' <input type="submit" value="Ok" STYLE="color:#ff7e00;font-family:Verdana;font-size:10px;font-weight:bold;background-color:#FFFFFF;padding:3px;border-width:1px;border-color:#000000;border-style:solid;"></form>';
echo'<p align="center"><a href="inscription.php">Devenir membre</a></font>';
 
 include ("antinjection.php");
 include("connect.inc.php");
 antinjectionsql($_POST['login']);
 $login=$_POST['login'];
 antinjectionsql($_POST['pass']);
 $pass=$_POST['pass'];
 $ident="SELECT * FROM `membres` WHERE pseudo='".$login."' AND password='".$pass."'";
 $identification=mysql_query($ident,$idconnect) or die (mysql_error());
 if (mysql_num_rows($identification)>=1)
 {
  $_SESSION['login']=$login;
  $_SESSION['pass']=$pass;
  mysql_close($idconnect);
  }
  else {
    echo'<p align=center><font size="1" color="FF0000"><b>Utilisateur et/ou password inconnu</font></b>';
    };
echo '</td>';
echo '</tr>';
echo '</table>';
 
}
?>
Je ne sais pas si la méthode est correcte pour utiliser les sessions vu que c'est ma première utilisation, je parle surtout du fait de demander en tout début si les variables existent et je ne comprend pas pourquoi ces valeurs erronées et donc le message d'erreur qui allait avec continue de s'afficher ??


Merci de m'aider.

PM