Rechercher : dans
Par :

Garder les infos après fermeture de session

Dernière réponse le 27 avr 2008 à 09:13:04 jpaul_web, le 24 avr 2008 à 00:32:54 
 Signaler ce message aux modérateurs

Bonjour,
Je cherche depuis plusieurs jours, comment garder les infos (login et pass) du visiteur après fermeture de la session (ex: fermeture de l'explorateur)?
Ceci pour que chaque fois que l'utilisateur se connecte il soit reconnu sans qu'il doive à nouveau réencoder ses identifiants (sauf après un certain temps)
Merci d'avance...
http://www.biereau.be

JPaul

Configuration: Windows XP
Firefox 2.0.0.14

Meilleures réponses pour « Garder les infos après fermeture de session » dans :
[Windows] Mot de passe de session perdu ou oublié VoirCette astuce vous aidera si vous avez perdu votre mot de passe de session. Cette méthode fonctionne jusqu'à Windows 2000, mais pas (ou plus ?) XP. Si vous n'êtes pas l'administrateur du système Il est nécessaire de demander à l'administrateur de...
Créer un script d'ouverture de session VoirWindows permet de définir des scripts d'ouverture de session, c'est-à-dire des scripts contenant des commandes exécutés dès qu'un utilisateur ouvre une nouvelle session. Les scripts d'ouverture de session permettant de lancer des tâches qui seront...
Vol de session TCP (TCP session hijacking) VoirLe vol de session TCP Le « vol de session TCP » (également appelé détournement de session TCP ou en anglais TCP session hijacking) est une technique consistant à intercepter une session TCP initiée entre deux machine afin de la détourner. Dans la...
Les clés de session VoirIntérêt d'une clé de session Les algorithmes asymétriques (entrant en jeu dans les cryptosystèmes à clé publique) permettent de s'affranchir de problèmes liés à l'échange de clé via un canal sécurisé. Toutefois, ces derniers restent beaucoup moins...

1

nirG95, le 24 avr 2008 à 01:21:05

Bonsoir,

La gestion de cookies :)

http://phpcodeur.net/articles/php/cookies

Cordialement.

nirG

Répondre à nirG95

2

gryzzly, le 24 avr 2008 à 01:22:22

Il faut stocker la session dans un cookie. .Moi. Et pi c'est tout !

Répondre à gryzzly

3

jpaul_web, le 25 avr 2008 à 20:56:54
  • +1

Bonjour et merci pour vos réponses, mais est-il possible de créer des cookies dans une session ceci afin que celui qui ne les accepte pas puisse quand même débuter une Session?
De plus, puis-je mettre les variables contenues dans les cookies dans une session sur ma page de démarrage et ne pus devoir les recharger durant la session?
Merci JP

Répondre à jpaul_web

4

gryzzly, le 25 avr 2008 à 21:27:54

Rien ne t'empeche de faire session + cookie. Quoi qu'il en soit, un cookie, c'est un fichier sur l'ordinateur. DOnc si l'utilisateur ne les accepte pas, il ne sera pas logué atuomatiquement lors de la revisite. C'est son choix. et aucunement un cookie ne peut etre stocké dans une session... la session peut par contre etre stockée dans un cookie. .Moi. Et pi c'est tout !

Répondre à gryzzly

5

jpaul_web, le 25 avr 2008 à 21:43:46

Je suppose qu'il suffit de faire un transfère de variable du style

<?
session_name('membre');   //j'ai plusieurs session à ouvrir en même temps
session_start();
require ("conf.php3"); 
$_SESSION['pseudo'] = $_COOKIE['pseudo']; // récupération des cookies et enregistrement dans la session
$_SESSION['password'] = $_COOKIE['password'];
$pseudo = $_POST['pseudo'];  // placement dans des variables
$pass = $_POST['password'];
?>

Mais je débute...
JP

Répondre à jpaul_web

6

jpaul_web, le 26 avr 2008 à 09:06:05

Bonjour de puis que j'ai essayé de mettre des cookies, il ne reconnait plus la session, qui peut m'aider??

Voici la page de démarrage:
index.php:

<? session_name('membre'); session_start(); 
if (empty($_SESSION['pseudo']))//Le code pour verifier qu'une session existe
{  if (empty($_cookie['pseudo'])) //Le code pour verifier qu'un cookie existe

	 {  }
	 else { $pseudo=$_COOKIE['pseudo']; $_SESSION['pseudo'] = $pseudo;}}  

	 else {$pseudo = $_POST['pseudo'];} ?>
<!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>Collège du Biéreau</title>
    <meta name="keywords" content="école, biereau, cycle, carnaval, enfant, projet, mer, classes vertes, maternelle,primaire, po, ap, cp" />
    <meta name="description" content="Site du Collège du Biéreau à Louvain-la-Neuve" />
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <meta name="Robots" content="follow" />
    <meta name="MSSmartTagsPreventParsing" content="TRUE" />

<!-- script du menu -->
<script type="text/javascript" src="dynMenu.js"></script>
 <!-- détéction du navigateur -->
<script type="text/javascript" src="browserdetect.js"></script>

<!-- important pour que les vieux navigateurs ne comprennent pas le CSS -->
<style type="text/css">
    @import "menu.css";
</style>
<link rel="stylesheet" href="http://www.biereau.be/styles.css" type="text/css">
<meta http-equiv="imagetoolbar" content"=no">
<style type="text/css">

</style>
</head>

<body>
  
<div align="center"> 
  <table width="870" border="0" align="center" cellpadding="0" cellspacing="0">
    <tr align="center" valign="middle"> 
      <td width="102" height="113" align="left"> 
        <div align="center"><img src="logos_images/logo2.gif" width="86" height="79" /><br />
          <!--webbot bot="HTMLMarkup" startspan -->
          <script type="text/javascript" src="http://scripts.domainserver.ch/counter.php?s=d4309a0f8b6f665f553c21d9961cdc5d"></script>
          <!--webbot
          bot="HTMLMarkup" endspan -->
        </div></td> 
      <td width="768" height="113" background="logos_images/presentation.gif"> 
        <div align="center"><img src="/logos_images/entete_texte_accueil.gif" alt="College du Bi&eacute;reau" width="650" height="100" /></div></td>
    </tr>
    <tr align="left" valign="top"> 
      <td colspan="2"> 
        <div align="left">
          <?php include "menu.htm"; ?>
      </div></td>
    </tr>
  </table>
  <table width="887" border="0">
    <tr valign="top">
      <td colspan="3">&nbsp;</td>
    </tr>
    <tr valign="top"> 
      <td> 
        
        
        <p>
          <?php
require("membre/conf.php3");
if (empty($_SESSION['pseudo'])) //Le code pour verifier qu'une session existe

	 { include "membre/connexion.php"; }
	 else { echo '<span class="Style1"> Bonjour <strong>'; echo $pseudo; echo '</strong>, tu es connect&eacute; comme membre et tu as acc&egrave;s &agrave; toutes les pages du site.</span>';} ?>
        <?php include "cf/zdata/1203364869.txt"; ?>
          <?php include "ap/zdata/1203365909.txt"; ?>
      </p>      </td>
      <td><?php include "info_1ere_page.htm"; ?></td>
      <td align="center">         <div align="center"><img src="/logos_images/anniv_013.gif" alt="" width="49" height="36" /> <span class="Style1"><strong>Bon anniversaire &agrave;:</strong><br />                        
          <?php include("annif.php"); ?>    



Et la page de connexion1 et 2:

connexion.php:
<div align="centre"><span class="Style1">Pour avoir acc&egrave;s &agrave; l'enti&egrave;ret&eacute; du site, <br />il faut &ecirc;tre inscrit comme membre.	    </span>
<form name="form1" method="post" action="membre/pdf_connexion2.php">
<span class="Style1">

		<label>Pseudo: <input name="pseudo" type="text" class="Style5"  size="10" maxlength="10" ></label>
<label> <br />Mot de Passe:
<input name="password" type="password" class="Style5" size="10" maxlength="10" /></label></span>

		<div align="center">
		  <input name="form2" type="button" class="Style5" onclick="window.location='http://www.biereau.be/membre/pdf_inscription.php';" value="Nouveau membre"; />

          <input type="submit" name="form1" class="Style5" value="Connexion" />
          <label></label>

          </div>

  </form>

</div>


pdf_conection2.php:
<?
session_name('membre');
session_start();
require ("conf.php3"); 

$pseudo = $_POST['pseudo']; //On recupère le pseudo et le pass
$pass = $_POST['password'];

$cookieDate = time() + 60*60*60*24*14; // valable 2 semaines

if( empty($_COOKIE['c_lastvisit']) ) {
   # il s'agit d'un nouveau visiteur :
   # création du cookie et d'une session
   # à la date courante
   $_SESSION['s_lastvisit'] = time();
   setcookie('c_lastvisit', time(), $cookieDate);
} elseif( empty($_SESSION['s_lastvisit']) ) {
   # il s'agit d'un visiteur connu :
   # mise à jour de la session selon cookie 
   $_SESSION['s_lastvisit'] = $_COOKIE['c_lastvisit'];
   $_SESSION['s_menu'] = $_COOKIE['c_menu'];
   # mise à jour du cookie (la date courante)
   setcookie('c_lastvisit', time(), $cookieDate);
}

   $date_visite = date("d.m.Y à H:i",$_SESSION['s_lastvisit']);

if (!empty($pseudo) && !empty($pass)) //S'ils sont pas vident
{
	$sql = connect_sql(); //On se connecte à MySQL
	
	$reponse = mysql_query ("SELECT * FROM pdf_membre WHERE pseudo='$pseudo'"); //On recupère les infos à partir du pseudo
	$donnees = mysql_fetch_array ($reponse);
	$verif = $donnees['pass'];
    $id = $donnees['id'];
	$pseudo_sql = $donnees['pseudo'];
	$confirm = $donnees['confirm'];
	
    
	if($pass != $verif) //On verifie que le pass entré est égale à celui de la BDD, si le passe est différent
	{
    $reponse = '<font color="#FF0000"><strong>Votre identifiant ou votre code secret est incorrect</strong></font>';
	$temps = '5';
	$redirection = '../index.php'; //On va rediriger vers le formulaire de connexion
    }
	elseif(!empty($confirm)) //Si le compte n'est pas activé
	{
	$reponse = '<font color="#FF0000"><strong>Bonjour '. $pseudo . ', votre compte n\'est pas encore activé!<br><br>
	Lors de votre inscription vous avez reçu un mail de confimation dans lequel il y avait une clé d\'activation.<br>
 	Il faut absolumant cliquer sur le lien pour activer votre compte.</strong></font><br><br>
	Merci de votre comprhension.<br>
	Jean-Paul';
	$redirection = '../index.php'; //On va rediriger vers le formulaire de connexion
	$temps = '15';
	}  
	else //Sinon tout est bon
    {
	$_SESSION['pseudo'] = $pseudo_sql ; //On créé une variable session avec le pseudo
	setcookie('pseudo', $_SESSION['pseudo'], $cookieDate); //création du cookies pseudo 
	$redirection = '../index.php'; //On redirige vers l'espace membre
	$temps = '5';
	$reponse = '<font color="#009900"><strong>Connexion réussite!</font><br><br>Bonjour '. $pseudo . ', vous allez être redirigé(e) automatiquement vers la page d\'accueil..</strong>';
    }
	mysql_close($sql); //On ferme la connection

}
?>
<html>
<head>
<meta http-equiv="refresh" content="<? echo $temps; //durée avant redirection ?>;URL=<? echo $redirection; //La redirection ?>">
</head>
<body>

<table width="614" border="0" align="center">
  <tr>
    <td width="608" valign="middle"><div align="left"><? echo 'La dernière visite date du : '. $date_visite .'<br><br>' ?><font size="5" face="Arial, Helvetica, sans-serif"><? echo $reponse; ?></font></div></td>
  </tr>
</table>
</body>
</html>



Si tu t'y retrouve dans mon charabia de code... Tu peux tester sur le site www.biereau.be
Un grand merci...

Répondre à jpaul_web

7

 jpaul_web, le 27 avr 2008 à 09:13:04

J'ai résolut le problème, maintenant ça fonctionne...
Voici la correction du code:

<? session_name('membre'); session_start();
if (empty($_SESSION['pseudo']))//Le code pour verifier qu'une session existe et n'est pas vide
{ if (empty($_COOKIE['pseudo'])) //Le code pour verifier qu'un cookie existe et n'est pas vide

	 
	 else { $pseudo=$_COOKIE['pseudo']; $_SESSION['pseudo'] = $pseudo;}}  

	 else {$pseudo = $_SESSION['pseudo'];} ?>


Et la petite correction qui fait tout, rajouter '/' pour préciser que c'est dans tout les répertoires y compris le répertoire racine (surtout quant le cookie est créé dans un autre répertoire!)
	setcookie('pseudo', $pseudo_sql, $cookieDate,'/'); //création du cookies pseudo

Merci à tous...

Répondre à jpaul_web
Collection CommentÇaMarche.net