cookie encore arf
Posté : 17 juin 2009, 15:43
Bonjour à tous.
J'essai de garder l'utilisateur connecter en ligne, mais des que je referme IE et que j'en relance une nouvelle, pas d'identification.
Merci d'avance pour votre aide !
Voila comment je fait avec les cooki qui de plus je comprend vraiment rien.
index.php
J'essai de garder l'utilisateur connecter en ligne, mais des que je referme IE et que j'en relance une nouvelle, pas d'identification.
Merci d'avance pour votre aide !
Voila comment je fait avec les cooki qui de plus je comprend vraiment rien.
index.php
<?php
session_start();
if (isset ($_COOKIE['pseudo']) && !isset ($_SESSION['pseudo']))
{
$_SESSION['pseudo'] = $_COOKIE['pseudo'];
/* On créé la variable de session à partir du cookie pour ne pas avoir à vérifier 2 fois sur les pages qu'un membre est connecté. */
}
if (isset ($_COOKIE['pseudo']) && isset ($_SESSION['pseudo']))
{
//On est connecté
}
if (!isset ($_COOKIE['pseudo']) && !isset ($_SESSION['pseudo']))
{
//On n'est pas connecté
}
?>
connection.php
<?php
session_start();
<h1>Connexion</h1>
<form method="post" action="verif.php">
<fieldset>
<legend>Connexion</legend>
<p>
<label for="pseudo">Pseudo :</label><input name="pseudo" type="text" id="pseudo" /><br />
<label for="password">Mot de Passe :</label><input type="password" name="password" id="password" /><br />
</p>
</fieldset>
<p><input type="submit" value="Connexion" /></p>
<label>Se souvenir de moi ?</label><input type="checkbox" name="cookie" id="cookie"/><br />
</form>
</div>
connection_ok.php
<?php
session_start();
// Message
if (empty($_POST['pseudo']) || empty($_POST['password']) ) //Oublie d'un champ
{
$message = '<p>une erreur s est produite pendant votre identification.
Vous devez remplir tous les champs
Cliquez <a href="connexion.php">ici</a> pour revenir</p>';
}
else
{
//Acces interdit : le membre est déjà connecté
if (isset($_SESSION['pseudo']))
{
$message ='<p>Désolé mais vous ne pouvez
pas accéder à cette page</p>';
}
else // Autorisation ok : il reste à voir le mot de passe
{
include("includes/identifiants.php");
mysql_connect($adresse, $nom, $motdepasse);
mysql_select_db($database);
//On protège les données
$pseudo = mysql_real_escape_string($_POST['pseudo']);
$password = mysql_real_escape_string($_POST['password']);
$requete1 = mysql_query('SELECT membre_mdp, membre_id, membre_rang
FROM forum_membres WHERE membre_pseudo = "'.$pseudo.'"')
or die (mysql_error());
$data1 = mysql_fetch_assoc($requete1);
if ($data1['membre_mdp'] == md5($password)) // Acces OK !
{
$_SESSION['pseudo'] = $pseudo;
$_SESSION['level'] = $data1['membre_rang'];
$_SESSION['id'] = $data1['membre_id'];
if(isset($_POST['cookie']) && $_POST['cookie'] == 'on')
{
setcookie('pseudo', $result['pseudo'], time()+365*24*3600);
setcookie('membre_mdp', $result['membre_mdp'], time()+365*24*3600);
}
echo '<script type="text/javascript">window.location= "index.php"</script>';
}
else
// Acces pas OK !
{
$message = '<p>Une erreur s est produite
pendant votre identification.
Le mot de passe ou le pseudo entré n est pas correcte.
Cliquez <a href="connexion.php">ici</a>
pour revenir à la page précédente
<br /><br />
Cliquez <a href="./index.php">ici</a>
pour revenir à la page d accueil</p>';
}
}
}
//Ici seulement on affiche la page
?>
Encore une fois MERCI pour votre aide !