Vous êtes ici Codes PHP et MySQL > Sessions > Utilisation des sessions phpBB V2

 

Utilisation des sessions phpBB V2

Ce script permet d'utiliser les sessions phpBB, c'est à dire:
- récupérer et continuer la session

- Si le visiteur n'est pas logé, affiche le formulaire de login. La redirection sera faite vers la page courante.

- Si le visiteur est logé, affichage de son pseudo, du lien logout de son groupe et de son avatar!
 
R@f
[17] sources en PHP voir
Code vu 7684 fois
Enregistré le 08 Sept 2007
  • Digg ce code sur digg.com
  • Bookmark ce code sur del.icio.us
  • Bookmark ce code sur Google
  • Bookmark ce code sur Yahoo
  • Ajoute Utilisation des sessions phpBB V2
  • Partage ce code sur Facebook
 
 
 
 

Code Source


01.
02.
03.
04.
05.
06.
07.
08.
09.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
 
<?php
/******************************************************************************/
/*                                                                            */
/*                       __        ____                                       */
/*                 ___  / /  ___  / __/__  __ _____________ ___               */
/*                / _ \/ _ \/ _ \_\ \/ _ \/ // / __/ __/ -_|_-<               */
/*               / .__/_//_/ .__/___/\___/\_,_/_/  \__/\__/___/               */
/*              /_/       /_/                                                 */
/*                                                                            */
/*                                                                            */
/******************************************************************************/
/*                                                                            */
/* Titre          : Utilisation des sessions phpBB V2                         */
/*                                                                            */
/* URL            : http://www.phpsources.org/scripts302-PHP.htm              */
/* Auteur         : R@f                                                       */
/* Date édition   : 08 Sept 2007                                              */
/*                                                                            */
/******************************************************************************/
?>
Code à mettre en début de page:
<?php
// récupération du sid
$sid = empty( $_GET['sid'] ) ? '' $_GET['sid'];

// PHPBB
define'IN_PHPBB'true );

// chemin relatif de phpBB
$phpbb_root_path '../forum/';
$site_root_path '../site/';

include( $phpbb_root_path 'extension.inc' );
include( $phpbb_root_path 'common.' $phpEx );

$userdata session_pagestart$user_ipPAGE_INDEX );
// chargement user
init_userprefs$userdata );

// log (1 ou 0)
$user_login $userdata['session_logged_in'];
// pseudo
$user_name $userdata['username'];

if( $user_login )
{
  // ------ //
  // AVATAR //
  // ------ //
  $userdata['user_avatar_img'] = ''// on ajoute une variable
  
  switch( $userdata['user_avatar_type'] )
  {
    case 1// uploadé
      $userdata['user_avatar_img'] = '../forum/images/avatars/' $userdata[
'user_avatar'];
      break ;
      
    case 2// distant
      $userdata['user_avatar_img'] = $userdata['user_avatar'];
      break ;
      
    case 3// galerie
      $userdata['user_avatar_img'] = '../forum/images/avatars/gallery/' $userdata['user_avatar'];
      break;
  }
  
  if( $userdata['user_avatar_type'] )
    $userdata['user_avatar_img'] = '<br /><img src="' .$userdata[
'user_avatar_img'] . '" />';
    
  // ------ //
  // GROUPE //
  // ------ //
  $userdata['group'] = '';
  if(($ret=mysql_query('SELECT g.group_name FROM '.$table_prefix.
'user_group u, '.$table_prefix.
'groups g WHERE g.group_id=u.group_id AND u.user_id='.$userdata['user_id'])))
  {
    while( $row mysql_fetch_row$ret ) )
    {
      if( !empty( $row[] ) )
        $userdata['group'] .= $row[] . ', ';
    }
      
    $userdata['group'] = substr$userdata['group'], , strlen$userdata['group'
] ) - );
  }
  
  if( empty( $userdata['group'] ) )
    $userdata['group'] = '-';
}
?>

Deux paramètres à régler:
$phpbb_root_path = '../forum/'; // indique le chemin relatif depuis le site vers
 la racine du forum
$site_root_path = '../site/'; // indique le chemin relatif depuis le forum vers
 la racine du site

<?php
if( $user_login // si on est log?
{
  echo 
'<div style="color: #000; font-family: Verdana, Arial, Helvetica, sans-serif;' .
' font-size: 12px;">
    Connecté en tant que:
    <div style="padding-left: 10px; color: #00F;">' , 
      $user_name '[ <a href="../forum/login.php?logout=true&sid=',$userdata[
'session_id'],'&redirect=../mb/' basename$_SERVER['SCRIPT_NAME'] ),
'" style="color: #00F;">Logout</a> ]
    </div>
    
    Groupe(s): <br />' ,
    '<div style="padding-left: 10px; color: #00F;">' , 
      $userdata['group'] , 
    '</div>' $userdata['user_avatar_img'] . '</div>';
  ?>
  <br />
  <a href="connected.php">Lien vers page pour connecté</a><br>
  <?php
}
else
{
  // ici, on va afficher la bo?te de connection
  ?>
  <div style="padding-left: 5px;">
    <form action="../forum/login.php" method="POST">
    <input type="text" name="username" value="login" class="champsTexte"
 onFocus="if(this.value=='login')this.value='';">
    <input type="password" name="password" value="password" class="champsTexte"
 onFocus="if(this.value=='password') this.value='';"><br /><br />
<input type="hidden" name="redirect" value="../mb/<?php echo basename($_SERVER[
'SCRIPT_NAME']).(isset($_SERVER['QUERY_STRING'])&& !empty($_SERVER[
'QUERY_STRING']) ? '?'.$_SERVER['QUERY_STRING'] : '' ); ?>" />
    <input name="login" type="submit" class="submit" value="OK" />
    </form>
  </div>
  <?php
}
?>

 

Fonctions du code

: Détermine si une variable contient une valeur non nulle - (PHP 4, PHP 5)
: Définit une constante - (PHP 4, PHP 5)
: Envoie une requête à un serveur MySQL - (PHP 4, PHP 5, PECL mysql:1.0)
: Retourne une ligne de résultat MySQL sous la forme d'un tableau - (PHP 4, PHP 5,...
: Calcule la taille d'une chaîne - (PHP 4, PHP 5)
: Retourne un segment de chaîne - (PHP 4, PHP 5)
: Affiche une chaîne de caractères - (PHP 4, PHP 5)
: Sépare le nom du fichier et le nom du dossier - (PHP 4, PHP 5)
: Détermine si une variable est affectée - (PHP 4, PHP 5)
Ajouter un commentaire
Code de sécurité

Attention: Les champs marqués d'une étoile * sont obligatoires
 
Librairie PHP

Connexion

 
 

Sessions

 
 

PHP

 
 
 
 
    Offres d'emploi

Plus de 500 offres d'emploi PHP/MySQL

Offres d'emploi
 
    Editeur PHP
 
        Publicité