Vous n'êtes pas identifié.

Annonce

#1 souci au niveau de session(destroy)??? deconnexion membre du 28-07-2010 15:39:36

twothousand
c00lnaute nouveau
Date d'inscription: 07-07-2010
Messages: 17

souci au niveau de session(destroy)??? deconnexion membre

Bonjour coolman,

j avance progressivement du moins je le crois.big_smile
voici ma nouvelle requête j ai visité sur ton site des  forums pour la création des espaces membres et plus.... mais j ai pas vraiment trouvé de réponse adéquate. En fait mon big souci est au niveau de la déconnexion. j ai pu me débrouiller pour creer un formulaire d inscription avec message de bienvenu dans la boite mail pour chaque membre.
seulement comment se fait-il qu un user censé s'être déconnecté continue à naviguer comme si rien ne s'était produit dans la destruction de la session?
si je prends l exemple de ton site forum.creer-un-site.fr kan je me déconnecte pour poster à nouveau un message je suis obligée de me reconnecter ce qui est normal vu que je me suis déconnectée auparavant!!!

voilà ce système là j aimerais l appliquer à toutes mes pages protégéesroll

Hic icon_mrgreen
comment on fait?
ou bien si tu préfères je poste mon script de départ??

Merci d avance.big_smile


Hors ligne

 

28-07-2010 15:39:36

Mister $$$
Créer un site


#2 Re souci au niveau de session(destroy)??? deconnexion membre du 28-07-2010 17:33:51

twothousand
c00lnaute nouveau
Date d'inscription: 07-07-2010
Messages: 17

Re: souci au niveau de session(destroy)??? deconnexion membre

Voici le script.....
<?

////////////////////////////////////////////////////////////
?>
<?php require_once('connect_to_mybase.php'); ?>
<?php
/*
-----------------------------------
------ VOICI LE SCRIPT QUI COMMENCE-------
       
-----------------------------------
*/

// ------CREATION MEMBRES DANS MON SITE D ANNONCES
if(isset($_POST['login'])){ // on vérifie la présence des variables de formulaire (si le formulaire a été envoyé)
    if(($_POST['login'] == "") || ($_POST['pass'] == "") || ($_POST['mail'] == "")){ // si login ou mot de passe non spécifiés >> message d'erreur
        header("Location:inscription.php?erreur=empty");
    }
    else if($_POST['pass'] == $_POST['pass2']){ // on vérifie si le mot de passe et le mot de passe confirmé ont la même valeur
        // on passe toutes les variables $POST en variables
        $login = $_POST['login'];
        //$pass = md5($_POST['pass']); // ici, on crypte le mot de passe à l'aide de MD5 (c'est tout simple non ? :)
        $pass = ($_POST['pass']); // ici, JE NE VEUX PAS CRYPTER MON MOT DE PASSE
        $mail = $_POST['mail'];
        $nom = $_POST['nom'];
        $prenom = $_POST['prenom'];
        $privilege = $_POST['privilege'];
        // on fait l'INSERT dans la base de données
        $add_user = sprintf("INSERT INTO membres (login, pass, mail, nom, prenom, privilege) VALUES ('$login', '$pass', '$mail', '$nom', '$prenom', '$privilege')");
          mysql_select_db($database_dbprotect, $dbprotect);
          $result = mysql_query($add_user, $dbprotect) or die(mysql_error());
        header("Location:index.php?add=ok"); // redirection si création réussie
    }
    else{
        header("Location:inscription.php?erreur=pass"); // redirection si le pass1 est différent du pass2
   
    }
   
}


?>


<html>
<head>
<title>Remplir les champs pour s'inscrire en tant que client</title>
<link href="styles.css" rel="stylesheet" type="text/css">
</head>
<body>
<form action="" method="post" name="add">
<div class="titre">- : : : CREATION COMPTE CLIENT : : : -</div>
<p align="center">
    <?php if(isset($_GET['erreur']) && ($_GET['erreur'] == "pass")) { // Affiche l'erreur  ?>
    <span class="erreur">Veuillez entrer deux fois un mot de passe identiqueSVP</span>
    <?php } ?>
    <?php if(isset($_GET['add']) && ($_GET['add'] == "ok")) { // Affiche l'erreur ?>
    <span class="reussite">Félicitations votre compte a &eacute;t&eacute; cr&eacute;&eacute; avec succ&egrave;s !</span>
    <?php } ?>
    <?php if(isset($_GET['erreur']) && ($_GET['erreur'] == "empty")) { // Affiche l'erreur  ?>
    <span class="erreur">Attention le champ Login, le mot de passe ou votre Email n'est pas renseigné !!!</span>
    <?php } ?>
</p>
  <p align="center"><strong><u>Nouveau compte client</u></strong></p>
  <table width="350" border="0" align="center" cellpadding="5" cellspacing="0" bgcolor="#eeeeee" class="tableaux">
    <tr>
      <td width="40">Login</td>
      <td width="144"><input name="login" type="text" id="login"></td>
    </tr>
    <tr>
      <td>Mot de passe </td>
      <td><input name="pass" type="password" id="pass"></td>
    </tr>
    <tr>
      <td>R&eacute;p&eacute;ter mot de passe </td>
      <td><input name="pass2" type="password" id="pass2"></td>
    </tr>
    <tr>
      <td>E-mail</td>
      <td><input name="mail" type="text" id="nom"></td>
    </tr>
    <tr>
      <td>NOM</td>
      <td><input name="nom" type="text" id="nom"></td>
    </tr>
    <tr>
      <td>Pr&eacute;nom</td>
      <td><input name="prenom" type="text" id="prenom"></td>
    </tr>
    <tr>
      <td>Privil&egrave;ge</td>
      <td><select name="privilege" id="privilege">
          <option value="user">Utilisateur</option>
        </select></td>
    </tr>
    <tr>
      <td height="50" colspan="2"><div align="center">
          <input type="submit" name="Submit" value="Cr&eacute;er cet utilisateur">
        </div></td>
    </tr>
  </table>
</form>


<?php
// envoi mail de remerciement au nouveau client
if(isset($_POST['mail']))
$expediteur   = "";
$reponse      = $expediteur;
$contenu="Bienvenue cher $nom.$prenom,\nVous faites désormais partie de nos clients. Votre login est $login et votre mot de passe est $pass<br>.";
mail($mail,
     "Bienvenue cher client",
     "$contenu",
      "From: $expediteur\r\nReply-To: $reponse");
      
?>
</body>
</html>


gratergrater ATTEND REPONSE


Hors ligne

 

#3 Re souci au niveau de session(destroy)??? deconnexion membre du 28-07-2010 17:45:43

twothousand
c00lnaute nouveau
Date d'inscription: 07-07-2010
Messages: 17

Re: souci au niveau de session(destroy)??? deconnexion membre

VOICI LE BOUT DE CODE POUR LA GESTION DE LA DECONNEXION

// Gestion de la  déconnexion
if(isset($_GET['erreur']) && $_GET['erreur'] == 'logout'){ // Test sur les paramètres d'URL qui permettront d'identifier un contexte de déconnexion
    $prenom = $_SESSION['prenom'];
    session_unset("authentification");
    header("Location:index.php?erreur=delog&prenom=$prenom");


// FORMULAIRE POUR SE CONNECTER AVEC LIEN POUR SE DECONNECTER

<body>
<form action="" method="post" name="connect">
  <p align="center" class="titre"><strong>- BIENVENUE CHER MEMBRE-</strong></p>
  <p align="center" class="title">
    <?php if(isset($_GET['erreur']) && ($_GET['erreur'] == "login")) { // Affiche l'erreur  ?>
    <strong class="erreur">Echec d'authentification !!! &gt; login ou mot de passe incorrect</strong>
    <?php } ?>
    <?php if(isset($_GET['erreur']) && ($_GET['erreur'] == "delog")) { // Affiche l'erreur ?>
    <strong class="reussite">D&eacute;connexion r&eacute;ussie... A bient&ocirc;t <?php echo $_GET['prenom'];?> !</strong>
    <?php } ?>
    <?php if(isset($_GET['erreur']) && ($_GET['erreur'] == "intru")) { // Affiche l'erreur ?>
    <strong class="erreur">Echec d'authentification !!! &gt; Aucune session n'est ouverte ou vous n'avez pas les droits pour afficher cette page</strong>
    <?php } ?>
   

//voici le lien pour se deconnecter dans l une des pages protégées

<p align="center"><a href="index.php?erreur=logout"><strong>Vous d&eacute;connecter</strong></a></p>


Hors ligne

 

#4 Re souci au niveau de session(destroy)??? deconnexion membre du 28-07-2010 17:50:03

twothousand
c00lnaute nouveau
Date d'inscription: 07-07-2010
Messages: 17

Re: souci au niveau de session(destroy)??? deconnexion membre

ce sont des bouts de code rafistolés à gche et à droite c est sur.... j ai pu adapter ça à ce que je cherche mais sauf la gestion de la déconnexion.
tout se passe comme si la session ouverte n a pas de fin. mm si on clique sur "se déconnecter".

c'est là mon gros gros souci.

PS: la fonction session start() est masquée dans le code car g des msg d erreur sinon

voilà.

tout aide sera la bienvenue! c est le début des vacs mais les aff continuent pour les geek kom moi.icon_mrgreen
big_smile merci d'avance


Hors ligne

 

#5 Re souci au niveau de session(destroy)??? deconnexion membre du 01-08-2010 20:56:19

c00lman
Administrateur
Date d'inscription: 16-08-2007
Messages: 1558
Site web

Re: souci au niveau de session(destroy)??? deconnexion membre

Salut twothousand,

Bon, je ne suis pas un "fortiche" dans les sessions mais il me semble qu'il te manque quelques trucs ^^.

Tu fais ton lien vers la page index.php avec comme  variable "erreur" ayant en paramètre le mot "logout".

Code:

<p align="center"><a href="index.php?erreur=logout"><strong>Vous d&eacute;connecter</strong></a></p>

Ensuite dans ta page index, si ta variable nommé "erreur" contient "logout" tu détruis la sessions :

Code:

<?php
// On appelle la session
    session_start();

// Destruction de la session
    if ((isset($_GET['erreur'])) && ($_GET['erreur'] == 'logout'))
    {
// On écrase le tableau de session
// $_SESSION est désormais un tableau vide, toutes les variables de session ont été supprimées
        $_SESSION = array();
// On détruit la session
        session_destroy();
// On redirige le visiteur vers la page d'accueil  
                header ('location: index.php');  
    }
?>

Hors ligne

 

#6 Re souci au niveau de session(destroy)??? deconnexion membre du 01-08-2010 22:44:41

twothousand
c00lnaute nouveau
Date d'inscription: 07-07-2010
Messages: 17

Re: souci au niveau de session(destroy)??? deconnexion membre

ok je vais tester ça. ça devrait marcher je pense.

merci en tout casbig_smile


Hors ligne

 

Propulsé par PunBB
© Copyright 2007
Forum créer un site

Partenaires de « créer un site internet »

Flux Rss Remonter Remonter Fermer