MyBB.support, le portail francophone de MyBB

Version complète : Rassemblé site web + Forum myBB
Vous consultez actuellement la version basse qualité d’un document. Voir la version complète avec le bon formatage.

Bonsoir à tous,

Je viens poster aujourd'hui, car après de nombreuses recherches à ce sujet, je n'ai pu trouver que quelques solutions qui m'a aidé à rien (ou presque).

Donc je m'explique clairement : En faites, comme beaucoup de personnes qui ont déjà essayée et peut être réussie, je cherche à pouvoir intégrer le forum sur le site web. Alors je sais comment sa se passe au niveau template, mais c'est surtout au niveau du code PHP, je veux dire par là, pour l'espace membre. Car en effet, avec les fonctions de myBB, je pourrai par la suite créer des pages "externes" au forum (qui seront donc des pages du site web), qui permettraient d'afficher des informations uniquement aux personnes qui sont connectées.

Et c'est là qui me pose problèmes d'ailleurs. Je n'arrive pas à trouver la solution pour pouvoir faire en sorte que si [username] est connecté, alors on affiche un petit mot du style "Bienvenue, username !' et si on est visiteur, sa affichera "Bienvenue, visiteur !". J'ai donc essayé plusieurs méthodes en cherchant sur internet, mais rien n'a fonctionné.

Voilà un petit bout de code php que j'ai essayé :

J'ai d'abord (afin d'essayer de bien faire fonctionner le tout), inclut plusieurs fichiers dans le haut de l'index.php du site web, ce qui donne :

Code PHP :
<?php
session_start
();
// Création du chemin vers le forum
// Je pars du principe que le fichier qui utilise les données est à la racine du site
DEFINE('MYBB_PATH'realpath(dirname(__FILE__).'/Forum'));
// On définit le site comme étant une partie de MyBB, pour ne pas s'interdire l'accès
DEFINE('IN_MYBB'true);
// On appelle init.php
include_once MYBB_PATH.'/inc/init.php'
include_once 
MYBB_PATH.'/inc/config.php';
require_once 
MYBB_PATH.'/global.php';
require_once 
MYBB_PATH."/inc/functions_post.php";
require_once 
MYBB_PATH."/inc/functions_user.php";
require_once 
MYBB_PATH."/inc/class_parser.php";
?>

Ensuite, j'ai fais ce code :

Code PHP :
<?php
if($mybb->user['uid'])

echo 
"Bienvenue '.$mybbuser[username].' !";
}
else
{
echo 
"Bienvenue, visiteur !";
}
?>

Ce pendant, sa m'affiche bien un "Bienvenue", mais celui-ci est comme ça "Bienvenue, visiteur !" donc il n'affiche malheureusement pas le pseudonyme alors que pourtant, je suis bien connecté sur le forum.

Pour informations, je fais un test en local uniquement pour éviter de mettre en l'air mon forum/site web actuelles en ligne.

Pour infos, je sais codé en php, mais le PDO et moi, et bien.. sa ne va pas ensemble ^^'.. Si vous pouvez m'aider au niveau des fonctions utiles à savoir de myBB, mais aussi si vous pouvez m'aider pour faire en sorte que si la personne est connectée, sa affiche son pseudo, ce serai super sympa :-).

En vous remerciant d'avance,

Je vous souhaite une bonne fin de soirée.
Sans être un grand spécialiste, ce doit être plutôt :
Code :
mybb->user['username']
J'ai testé, mais toujours pareil, sa ne fonctionne pas.

EDIT: je pense à ça, je dois ajouter un code de lecture de la table mybb_users ou pas besoin ?
Cette question a été abordée plusieurs fois, voir ici :
http://mybb.fr/thread-6070.html
http://mybb.fr/thread-6180.html
Bonjour,

Merci pour votre aide, mais après avoir essayé ce qui est marqué dans un des deux postes que vous m'aviez cités ci-dessus, je n'ai malheureusement rien de concluant car cela ne fonctionne pas.

J'ai fais un fichier test.php sur mon site web en ligne et j'ai pris deux screenshots pour vous montrer que je suis bien connecté au forum, mais que sur la page test.php, rien ne montre que je suis connecté (sa me dit que je ne le suis pas).

-Voir les deux pièces jointes-

Code de la page test.php :
Code PHP :
<?php
error_reporting
(E_ALL);
print 
'Répertoire actuel : '.getcwd().'<br />';
chdir('Forum'); // répertoire du forum
print 'Nouveau répertoire : '.getcwd().'<br />';
define("IN_MYBB"1);
if (!
file_exists('global.php')){
  print 
"Le fichier global.php n'existe pas!".'<br />';
}else{
  print 
substr(sprintf('%o'fileperms('global.php')), -4).'<br />';
}
require_once 
'Forum/global.php';
print 
'Test #1 : '.$mybb->user['username'].'<br />';
require_once 
'global.php';
print 
'Test #2 : '.$mybb->user['username'].'<br />';
if (
$mybb->user['uid']){
  print 
"Le membre ".$mybb->user['username']." est connecté.";
}else{
  print 
"Vous n'êtes pas connecté!";
}
?>

C'est le code donné sur ce poste : http://mybb.fr/thread-6070-page-2.html

Voici ce qui devait être utilisé :
Code PHP :
<?php
chdir
('forum'); // répertoire du forum
define("IN_MYBB"1);
require 
'./global.php';
if (
$mybb->user['uid']){
  print 
"Le membre ".$mybb->user['username']."est connecté.";
}else{
  print 
"Vous n'êtes pas connecté!";
}
?>

La ligne "chdir('forum');" ne doit être là que si le fichier PHP contenant ce code n'est pas dans le même répertoire que votre forum MyBB. Par exemple si vous avez comme structure :
Code PHP :
public_html
  
|_ admin
  
|_ images
  
|_ inc 
Que votre forum est dans le répertoire "public_html" et que votre fichier PHP se trouve dans "inc", alors la ligne devra être là et contenir "chdir('..');" ce qui vous replacera dans le répertoire du forum.

Si au contraire votre structure est comme celle-ci :
Code PHP :
public_html
  
|_ forum
    
|_ admin
    
|_ images
    
|_ inc 
Que votre site et votre fichier PHP sont dans le répertoire "public_html" et votre forum se trouve dans "forum", alors la ligne devra être là et contenir "chdir('forum');" ce qui vous replacera dans le répertoire du forum.

D'après les résultats précédents, il me semble que vous avez plus d'un fichier "global.php" et que ce n'est pas celui du forum qui est appellé...
Pour ce qui est de la structure, mon forum se trouve dans un dossier "Forum" et mon site est dans public_html. Donc si j'ai bien compris, je dois laisser chdir("Forum").

Citation :D'après les résultats précédents, il me semble que vous avez plus d'un fichier "global.php" et que ce n'est pas celui du forum qui est appellé...

Vous parlez de mon code de mon ancien message ? Si oui, c'est le code repris directement depuis l'autre poste que vous m'aviez donner en lien. Et j'ai essayé d'y rajouter "Forum/" pour que sa donne bien sur le fichier global du dossier forum, mais rien n'y fait.
Le Cookie est peut-être mal configuré.

Il est important que son domaine soit précédé d'un point "." afin que les sous-domaines soient prit en compte, dans le cas où l'utilisateur accède au site avec "http://www.MonSite.fr/Forum" ou "http://MonSite.fr/Forum".

Avez-vous essayé avec ces deux types d'accès?

Il est aussi possible que le problème soit causé par un fichier ".htaccess".

Dans tous les cas, il m'est difficile de diagnostiquer ce type de problème sans un compte d'administration et un accès FTP...
Pour ce qui est des cookies, j'ai vérifié et c'est bien configurer avec le point devant mon-nom-de-domaine.fr.

Ensuite, j'ai testé avec le www et sans, mais le résultat reste le même.

Pour le fichier .htaccess, j'en ai pas sur le site web, donc ce serai alors par rapport à celui du forum ? (je pense pas).

Je vais vous faire un accès FTP et un compte administrateur afin que vous voyez par vous même et je vous envoie par MP.

 Utilitaire de traduction fourni par Regentronique