[PHP] Pb gestion de session couplée PHPBB

Pb gestion de session couplée PHPBB [PHP] - PHP - Programmation

Marsh Posté le 13-03-2005 à 16:06:50    

Bonjour tout le monde !!!
Bon tout d'abord je débute en php ....
J'ai essayer d'intégrer le morceau de code proposé par sur le forum phpbb-fr (http://forums.phpbb-fr.com/viewtopic_67178_pd0_poasc_s15.html)...
Il marche plus ou moins bien ... Disons plutot que j'arrive pas à le faire marché sur mon site.... J'ai fait une page de test ac les deux redirections loggé / non-loggé ça marche nickel.... C'est plus dans l'intégration que j'ai des pb...
En gros j'arrive à m'enregistrer mais impossible de se délogguer.... Je pencherai pour un pb  d'append_sid (mais j'en suis pas du tout sur)... Pourtant il me semble que j'ai fait les choses correctement....Bref ça fait trois heures que je tourne en rond...Et ça avance pas d'un mm...
J'ai reussi à faire afficher la page "vous n'etes plus loggué" en traficotant le code proposé par titeuf mais evidemment ça fonctionne pas (la redirection fonctionne mais pas le "delogage" )...
Voila des morceau de code :
 
Le fichier index.php :

Citation :


<?php
 
define('IN_PHPBB', true);
$phpbb_root_path = './forum/';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
 
$redirect_login = "../?id=connec";
$redirect_logout = "../?id=logout";
//
// Start session management
//
$userdata = session_pagestart($user_ip, PAGE_INDEX);
init_userprefs($userdata);
//
// End session management
//
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" />
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Document sans nom</title>
<link href="/css/style.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="conteneur">
    <?php
  include ('header.php');
  ?>
 
  <div id="conteneur2">
   <div id="gauche">
   <?php
   include ('nav.php');
   ?>
   </div>
   
   <div id="centre">
   <?php
     include('actions/secure.php');   // Nous appelons le contenu central de la page
   ?>
   </div>


 
Le fichier login.php

Citation :


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<link href="/css/style.css" rel="stylesheet" type="text/css" />
<div style="width:550px;">
  <div class="main_mef" id="entete" style="background-image:url(/images/main_hg.gif)">
  <h1 class="style_titremain">Login!</h1>
  </div>
  <div class="main_bord" id="bordure"></div>
  <div class="main_main" id="contenu">
   <p>
 <?php include('actions/checkbb.php'); ?>
 </p>
 
  </div>
  <div class="main_mef"  id="basgauche" style="background-image:url(/images/main_bg.gif)"></div>
  <div class="main_mef"  id="basdroite" style="background-image:url(/images/main_bd.gif)"></div>
</div>


 
le fichier checkbb.php :

Citation :


<?php
$logout = htmlspecialchars($_GET['logout']);
 
if ( $logout )
{
   session_end($userdata['session_id'], $userdata['user_id']);
   redirect(append_sid($redirect_logout));
}
 
$logue = '<table border="0" cellpadding="0" cellspacing="0" align="center">
   <tr>
     <td align="center"><a href="' .append_sid($redirect_logout) . '">' . $lang['Logout'] . ' [ ' . $userdata['username'] . ' ]</a></td>  
   
   </tr>^
   <tr>
     <td align="center"><a href="' . append_sid("profil.$phpEx" ) . '">' . $lang['Profile'] . '</a></td>
   </tr>
</table>';
 
$non_logue = '<form action="' . $phpbb_root_path . 'login.php" method="post">    
 
<table border="0" cellpadding="4" cellspacing="1" align="center">
   <tr>
      <td>' .$lang['Username'] . '&nbsp;</td>
      <td><input type="text" name="username"></td>
   </tr>
   <tr>
      <td>' . $lang['Password'] . '&nbsp;</td>
      <td><input type="password" name="password"></td>
   </tr>
   <tr>
      <td colspan="2" align="center"><input type="hidden" name="redirect" value="' . $adresse_site . append_sid($redirect_login) . '"><input type="submit" value="' . $lang['Login'] . '" name="login"></td>
   </tr>
</table>
 
</form>';
 
if ( $userdata['session_logged_in'] )
{
   echo $logue;
}
else
{
   echo $non_logue;
}
?>


 
et pour finir le fichier secure.php :

Citation :


<?php
 
  // On définit le tableau contenant les pages autorisées
  // ----------------------------------------------------
  $pageOK = array('news' => append_sid("news.php" ),
                  'accueil' => append_sid("accueil.php" ),
      'login' => append_sid("login.php" ),
      'logout' => append_sid("logout.php" ),
      'connec' => append_sid("connec.php" ));
 
  // On teste que le paramètre d'url existe et qu'il est bien autorisé
  // -----------------------------------------------------------------
  if ( (isset($_GET['id'])) && (isset($pageOK[$_GET['id']])) ) {
    include($pageOK[$_GET['id']]);   // Nous appelons le contenu central de la page
  }
  else
  {
  // PAGE PAR DEFAUT
  include('accueil.php');
  }
?>


 
Voila je ne peux pas faire mieux si vous avez des pistes je suis preneur T_T  parce que la j'en ai ma claque en plus jsui sur que c tout facile >_< .. Merci :D

Reply

Marsh Posté le 13-03-2005 à 16:06:50   

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed