Bonjour.
Je souhaite protéger mon forum par identification.
D'une part mon fichier identification qui se charge d'afficher soit le formulaire d'identification ou le formulaire de post selon si la session à démarré ou non :
<?php
if(!session_is_registered('identifiant'))
{
include ('login_reponse.php');
}
else
{
include ('insert_reponse.php');
}
?>
D'autre part, le formulaire d'identification, login_reponse.php :
<form method="POST" name="formulaire" action="lire_message.php?id_sujet_a_lire=<? echo ($dat['id']); ?>">
<table cellspacing="6" align=center>
<tr>
<td align="right"><p>Identifiant :</p></td>
<td><input type="text" name="identifiant" value="<?php echo $_COOKIE['identifiant']; ?>"></td>
<td rowspan="2"><img src="images/cles.gif"></td>
</tr>
<tr>
<td align=right><p>Mot de passe :</p></td>
<td><input type="password" name="motdepasse" value="<?php echo $_COOKIE['motdepasse']; ?>"><input type="hidden" name="id_sujet" value="<? echo $id_sujet; ?>"></td>
</tr>
<tr>
<td colspan=3 align=center><input type="submit" value=" Accès "></td>
</tr>
</table>
</form>
Et pour finir, la page lire_message :
<?php
session_start();
require ('../inc/config.php');
mysql_connect($serveur,$login,$pass);
mysql_select_db ($base);
// on recupère le password de la table qui correspond au login du visiteur
$sql = "select pwd from forum_user where login='".$identifiant."'";
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
$data = mysql_fetch_assoc($req);
if($data['pwd'] == $motdepasse)
{
$expire = 365*24*3600;
setcookie("identifiant",$_POST['identifiant'],time()+$expire);
setcookie("motdepasse",$_POST['motdepasse'],time()+$expire);
$_SESSION['identifiant'] = $identifiant;
}
?>
<html>
<head>
<title>Forum</title>
</head>
<body>
...
<?php include ('identification.php') ?>
...
</body>
</html>
Le soucis que je rencontre est qu'en allant donc sur la page lire_message?id_sujet_a_lire=xx, j'ai directement le forumlaire de poste au lieu d'avoir le formulaire d'identification.
Où est le problème ?
Merci d'avance.