Nouveau sujet Répondre Imprimer Syndication RSS 2.0

[Problème] Se déconnecter

Flammeche
Avatar de Mithrandir
  • Messages : 46
  • Inscrit : 10 Aout 2005
  Lien vers ce message 29 Novembre 2005, 22:50
Bonjour bonjour, je viens vous poser une quesiton ici des plus simples . Mais c'est souvent les problèmes les plus simples qui persistent le plus ^^ . Comment fait-on pour "déconnecter" le membre ?

J'ai utilisé ce petit bout de code :
if($_GET['mode'] == "deco")
     {
      setcookie('fsb_login', '', time()-86400);
      setcookie('fsb_mdp', '', time()-86400);
      setcookie('fsb_auto_connexion', time()-86400);
      unset($_COOKIE['fsb_login']);
      unset($_COOKIE['fsb_mdp']);
      unset($_COOKIE['fsb_auto_connexion']);
     }


Malheureusement il ne se passe rien, les cookies sont toujours là o_O
 
Volcan
Avatar de Mido
  • Age : 32 ans
  • Messages : 1836
  • Inscrit : 28 Janvier 2005
  Lien vers ce message 29 Novembre 2005, 22:56
http://www.fire-soft-board.com...p?deconnexion=1 :-P

Nah, blague à part (cliquez pas, hein ^^; ) déconnecter comment ? le lien existant te suffit pas ? Explique un peu ^^;

Midori...


http://www.loutan.net/ub/encyclo.gif
http://www.loutan.net/ub/ludivers.gif
http://www.loutan.net/ub/yves.gif
 
Flammeche
Avatar de Mithrandir
  • Messages : 46
  • Inscrit : 10 Aout 2005
  Lien vers ce message 29 Novembre 2005, 22:57
C'est un lien de mon site à part, censé déconnecté le membre .

Je l'appelle comme ça :
<a class="lien_menu" href="connexion_cookies.php?mode=deco">Se déconnecter</a>
 
VIP
Avatar de Dravick
  • Age : 19 ans
  • Messages : 523
  • Inscrit : 04 Mars 2005
  Lien vers ce message 29 Novembre 2005, 23:00
Essaye ça
if($_GET['mode'] == "deco")
     {
      setcookie('fsb_login');
      setcookie('fsb_mdp');
      setcookie('fsb_auto_connexion');
      unset($_COOKIE['fsb_login']);
      unset($_COOKIE['fsb_mdp']);
      unset($_COOKIE['fsb_auto_connexion']);
     }

J'crois que c'est ça pour effacer les cookie


"Take thy beak from out my heart, and take thy form from off my door!"
[list]Quoth the Raven, "Nevermore."[/list]
 
Chef du projet FSB
Avatar de Genova
  • Age : 22 ans
  • Messages : 14520
  • Inscrit : 16 Septembre 2004
  Lien vers ce message 29 Novembre 2005, 23:07
Tu dois remettre l'id du membre à 0 dans sa session :)


Cause Im as free as a bird now, And this bird you can not change. - Freebird - Lynyrd Skynyrd
There's someone in my head but it's not me. - Brain damage - Pink Floyd
I said baby, you know Im gonna leave you. - Babe I'm gonna leave you - Led Zeppelin
Father ? yes son, I want to kill you - The end - The Doors
 
Flammeche
Avatar de Mithrandir
  • Messages : 46
  • Inscrit : 10 Aout 2005
  Lien vers ce message 30 Novembre 2005, 23:12
Avec un sessionstart en haut de la page et ensuite déclarer l'id comme étant 0 ?
 
Chef du projet FSB
Avatar de Genova
  • Age : 22 ans
  • Messages : 14520
  • Inscrit : 16 Septembre 2004
  Lien vers ce message 01 Décembre 2005, 10:17
Non, FSB n'utilise pas les sessions PHP. Quand tu cliques sur la deconnexion de FSB voila en gros le code qui est appelé :
[php]//
// Deconnexion du membre, on passe son ID à INVITE, puis on envoie un cookie vierge
// remplacer ses nouveaux sujets, autoconnexion & compagnie
//
if ( $deconnexion && $membre['membre_id'] != INVITE )
{
//
// Les versions antérieures à MySQL4 semblent ne pas être compatibles
// avec les UPDATE sur plusieurs tables à la fois. Aussi on propose des
// "requètes de secours" pour le cas ou...
//
if ($MySQL_version >= 4)
{
$sql = 'UPDATE ' . SESSIONS_TABLE . ' s, ' . MEMBRES_TABLE . ' mem
SET s.membre_id=\'0\', mem.derniere_visite = \'' . time() . '\'
WHERE s.session_sid=\'' . $membre['session_sid'] . '\' AND mem.membre_id = \'' . $membre['membre_id'] . '\'';
if ( ! $bdd->requete($sql) )
{
info($langue['erreur_titre'], sprintf($langue['er_update'], 'membres, sessions'), __LINE__, __FILE__, $sql);
}
}
else
{
$sql = 'UPDATE ' . SESSIONS_TABLE . '
SET membre_id=\'0\'
WHERE session_sid=\'' . $membre['session_sid'] . '\'';
if ( ! $bdd->requete($sql) )
{
info($langue['erreur_titre'], sprintf($langue['er_update'], 'sessions'), __LINE__, __FILE__, $sql);
}

$sql = 'UPDATE ' . MEMBRES_TABLE . '
SET derniere_visite = \'' . time() . '\'
WHERE membre_id = \'' . $membre['membre_id'] . '\'';
if ( ! $bdd->requete($sql) )
{
info($langue['erreur_titre'], sprintf($langue['er_update'], 'membres'), __LINE__, __FILE__, $sql);
}
}

@setcookie($config['cookie_nom'] . '_sujets', '', time(), $config['cookie_chemin'], $config['cookie_dommaine'], $config['cookie_securite']);
@setcookie($config['cookie_nom'] . '_auto_connexion', '', time(), $config['cookie_chemin'], $config['cookie_dommaine'], $config['cookie_securite']);
@setcookie($config['cookie_nom'] . '_login', '', time(), $config['cookie_chemin'], $config['cookie_dommaine'], $config['cookie_securite']);
@setcookie($config['cookie_nom'] . '_mdp', '', time(), $config['cookie_chemin'], $config['cookie_dommaine'], $config['cookie_securite']);

redir('index.php');
}[/php]


Cause Im as free as a bird now, And this bird you can not change. - Freebird - Lynyrd Skynyrd
There's someone in my head but it's not me. - Brain damage - Pink Floyd
I said baby, you know Im gonna leave you. - Babe I'm gonna leave you - Led Zeppelin
Father ? yes son, I want to kill you - The end - The Doors
 
Flammeche
Avatar de Mithrandir
  • Messages : 46
  • Inscrit : 10 Aout 2005
  Lien vers ce message 02 Décembre 2005, 16:26
Puis-je savoir à quoi correspondent les différentes id ?
 
Etoile
Avatar de Ghost Warrior
  • Age : 23 ans
  • Messages : 3535
  • Inscrit : 14 Novembre 2004
  Lien vers ce message 02 Décembre 2005, 16:28
ID, correspond le n0 de membre... (enfin je pense)


L'amour est aveugle, il faut donc toucher.

La mort est un état de non-existence. Ce qui n'est pas n'existe pas. Donc la mort n'existe pas.

Comment le vent sait-il dans quelle direction il doit souffler ?
 
Flammeche
Avatar de Mithrandir
  • Messages : 46
  • Inscrit : 10 Aout 2005
  Lien vers ce message 02 Décembre 2005, 16:29
Ca m'étonnerait fort vu que beaucoup de membres ont leur membre_id à 7 :)
 
Etoile
Avatar de Ghost Warrior
  • Age : 23 ans
  • Messages : 3535
  • Inscrit : 14 Novembre 2004
  Lien vers ce message 02 Décembre 2005, 16:39
Ah ouais...

Regarde dans la liste membre http://www.fire-soft-board.com/fsb/liste_membre.php

Il y a un liste avec ID...


L'amour est aveugle, il faut donc toucher.

La mort est un état de non-existence. Ce qui n'est pas n'existe pas. Donc la mort n'existe pas.

Comment le vent sait-il dans quelle direction il doit souffler ?
 
Flammeche
Avatar de Mithrandir
  • Messages : 46
  • Inscrit : 10 Aout 2005
  Lien vers ce message 02 Décembre 2005, 16:41
Je ne parles pas de ça, je parle dans la table fsb_session, il y a un champ membre_id :mdr:
 
Chef du projet FSB
Avatar de Genova
  • Age : 22 ans
  • Messages : 14520
  • Inscrit : 16 Septembre 2004
  Lien vers ce message 02 Décembre 2005, 16:48
membre_id corespond a l'ID du membre, certaines sessions peuvent etre inutilsés ne fait pas attentions aux doublons :)


Cause Im as free as a bird now, And this bird you can not change. - Freebird - Lynyrd Skynyrd
There's someone in my head but it's not me. - Brain damage - Pink Floyd
I said baby, you know Im gonna leave you. - Babe I'm gonna leave you - Led Zeppelin
Father ? yes son, I want to kill you - The end - The Doors
 
Flammeche
Avatar de Mithrandir
  • Messages : 46
  • Inscrit : 10 Aout 2005
  Lien vers ce message 02 Décembre 2005, 16:56
Et donc si je veux le reconnecter, je dois récupérer son ID dans fsb_membres et sauvegarder dans fsb_session cette ID ?
 
Chef du projet FSB
Avatar de Genova
  • Age : 22 ans
  • Messages : 14520
  • Inscrit : 16 Septembre 2004
  Lien vers ce message 02 Décembre 2005, 16:57
Non, tu dois te basser sur la SID du membre et non sur son ID


Cause Im as free as a bird now, And this bird you can not change. - Freebird - Lynyrd Skynyrd
There's someone in my head but it's not me. - Brain damage - Pink Floyd
I said baby, you know Im gonna leave you. - Babe I'm gonna leave you - Led Zeppelin
Father ? yes son, I want to kill you - The end - The Doors
 
Répondre


.