connexion automatique
Posté : 02 nov. 2011, 21:40
Bonsoir tout le monde
J'ai fais un espace membre avec des SESSIONS et je veux intégrer "une connexion automatique" sur ma page "connexion.inc.php" Si je coche "connexion automatique" mes 2 cookies s'enregistre bien, donc là c'est OK!
Mais le problème vient sur ma page "index.php" et "page_membre.php" c'est là que je bloque je ne sais pas comment faire...vu j'utilise des SESSIONS je veux intégré la lecture des 2 cookies si la personne veut être toujours connectée
ça fais 5 jours j'essaye plusieurs possibilité et je sature
voici mes pages :
page "connexion.inc.php
MA PAGE "index.php"
J'ai fais un espace membre avec des SESSIONS et je veux intégrer "une connexion automatique" sur ma page "connexion.inc.php" Si je coche "connexion automatique" mes 2 cookies s'enregistre bien, donc là c'est OK!
Mais le problème vient sur ma page "index.php" et "page_membre.php" c'est là que je bloque je ne sais pas comment faire...vu j'utilise des SESSIONS je veux intégré la lecture des 2 cookies si la personne veut être toujours connectée
ça fais 5 jours j'essaye plusieurs possibilité et je sature
voici mes pages :
page "connexion.inc.php
<?php
// Redirige l'utilisateur s'il est déjà identifié
if(isset($_SESSION['id_nom']))
{
header("Location: page_membre.php");
}
else
{
// Formulaire visible par défaut
$masquer_formulaire = false;
// Une fois le formulaire envoyé
if(isset($_POST["BT_Envoyer"]))
{
// Vérification de la validité des champs
if(!preg_match("/^[A-Za-z0-9_]{4,20}$/", $_POST["TB_Nom_Utilisateur"]))
{
$message = "Votre nom d'utilisateur doit comporter entre 4 et 20 caractères<br />\n";
$message .= "L'utilisation de l'underscore est autorisée";
}
elseif(!preg_match("/^[A-Za-z0-9]{4,}$/", $_POST["TB_Mot_de_Passe"]))
{
$message = "Votre mot de passe doit comporter au moins 4 caractères";
}
else
{
// Connexion à la base de données
// Valeurs à modifier selon vos paramètres configuration
require "connexionMysql.inc.php";
mysql_connect(DB_HOST, DB_LOGIN);
mysql_select_db(DB_BDD);
// Sélection de l'utilisateur concerné
$result = mysql_query("
SELECT id, Nom_Utilisateur, Mot_de_Passe, Compte_Active
FROM Comptes_Utilisateurs
WHERE Nom_Utilisateur = '" . $_POST["TB_Nom_Utilisateur"] . "'
");
// Si une erreur survient
if(!$result)
{
$message = "Une erreur est survenue lors de la tentative de connexion";
}
else
{
// Si aucun utilisateur n'a été trouvé
if(mysql_num_rows($result) == 0)
{
$message = "Le nom d'utilisateur " . $_POST["TB_Nom_Utilisateur"] . " n'existe pas";
}
else
{
// Récupération des données
$row = mysql_fetch_array($result);
// Si le compte n'a pas été activé
if($row["Compte_Active"] == 0)
{
$message = "Votre compte utilisateur n'a pas été activé";
}
else
{
// Vérification du mot de passe
if(md5($_POST["TB_Mot_de_Passe"]) != $row["Mot_de_Passe"])
{
$message = "Votre mot de passe est incorrect";
}
else
{
// Création des sessions
$_SESSION['id']=$row["id"];
$_SESSION['id_nom']=$row["Nom_Utilisateur"];
if(isset($_POST['CB_Connexion_Automatique']))
{
// Création des cookies
$navigateur = (!empty($_SERVER['HTTP_USER_AGENT'])) ? $_SERVER['HTTP_USER_AGENT'] : '';
$hash_cookie = sha1('aaa'.$username.'bbb'.$password.'ccc'.$navigateur.'ddd');
// Définition du temps d'expiration des cookies
$expiration =empty($_POST["CB_Connexion_Automatique"]) ? 0 : time() + 90 * 24 * 60 * 60;
setcookie( 'id', $_SESSION['id'], $expiration, '/');
setcookie('connexion_automatique', $hash_cookie, $expiration, '/');
}
// Redirection de l'utilisateur
header("Location: page_membre.php");
}
}
}
}
// Fermeture de la connexion à la base de données
mysql_close();
}
}
}
?>
<!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" xml:lang="fr">
<head>
</head>
<body>
<!-- formulaire connexion -->
<p class="connection">Se connecter<hr /></p>
<form action="http://<?php echo $_SERVER["SERVER_NAME"] . $_SERVER["SCRIPT_NAME"]; ?>" method="post">
<div class="center">
<label for="username">Utilisateur ></label><input type="text" name="TB_Nom_Utilisateur" id="username" /><br />
<label for="password">Mot de passe ></label><input type="password" name="TB_Mot_de_Passe" id="password" /><input type="submit" name="BT_Envoyer" value="ok" /><br />
<input type="checkbox" name="CB_Connexion_Automatique" />
connexion automatique
<?php if(isset($message)) { ?>
<p class="rouge"><?php echo $message; ?></p>
<?php } if($masquer_formulaire != true) { ?>
</div>
</form>
<?php } ?>
</body>
</html>
MA PAGE "index.php"
<?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" xml:lang="fr">
<head>
<title>page index</title>
<!--Metas-->
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<meta http-equiv="content-language" content="fr" />
</head>
<body>
<!-- header -->
<!-- menu -->
<!-- corps -->
<div id="corps">
<!-- espace membre -->
<div class="espacemembre">
<?php if(isset($_SESSION['id'])) { ?>
<p>
[<?php echo ''.htmlentities($_SESSION['id_nom'], ENT_QUOTES, 'UTF-8'); ?>]
<a class="accueil" href="deconnexion.php">Déconnexion</a><hr />
<img src="image/control.gif" alt="espace membre" title="espace membre" /> <a class="accueil" href="page_membre.php">Espace utilisateur</a><br />
</p>
<?php } else
{
include("connexion.inc.php");
echo '<br /><a class="accueil" href="creer-compte-utilisateur.php">S\'inscrire</a>';
}
?>
</div>
</div>
<!-- footer -->
<div id="pied_de_page">
<p>© 2011 Tous droits réservés</p>
</div>
</body>
</html>
MA PAGE "page_membre.php" <?php
session_start();
// Redirige l'utilisateur s'il est pas identifié
if(!isset($_SESSION['id']))
{
header("Location:index.php");
}
?>
<!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" xml:lang="fr">
<head>
<title>Espace membre</title>
<!--Metas-->
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<meta http-equiv="content-language" content="fr" />
</head>
<body>
<!-- header -->
<!-- menu -->
<!-- corps -->
<div id="corps">
<!-- espace membre -->
<div class="espacemembre">
<?php if(isset($_SESSION['id'])) { ?>
<p>
[<?php echo ''.htmlentities($_SESSION['id_nom'], ENT_QUOTES, 'UTF-8'); ?>]
<a class="accueil" href="deconnexion.php">Déconnexion</a><hr />
</p>
<?php } ?>
</div>
<!-- corps -->
<h2>ESPACE UTILISATEUR</h2>
<p>
Bienvenue sur votre espace personnel, <?php echo ''.htmlentities($_SESSION['id_nom'], ENT_QUOTES, 'UTF-8'); ?> !
</p>
</div>
<!-- footer -->
<div id="pied_de_page">
<p>© 2011 Tous droits réservés</p>
</div>
</body>
</html>