MyBB.support, le portail francophone de MyBB
créer page PHP avec header forum - Version imprimable

+- MyBB.support, le portail francophone de MyBB (https://mybb.support)
+-- Forum : Plug-ins et modules pour MyBB (https://mybb.support/forum-32.html)
+--- Forum : Support (https://mybb.support/forum-15.html)
+--- Sujet : créer page PHP avec header forum (/thread-5042.html)

Pages : 1 2


créer page PHP avec header forum - godisadj - 21-12-2011

Salut,
j'aimerai créer une page PHP en gardant les header et les footer du forum.
Mais comment faire?

merci


RE: créer page PHP avec header forum - spyto - 21-12-2011

En utilisant le plugin Page Manager :
http://mods.mybb.com/view/page-manager
ce sera plus simple...


RE: créer page PHP avec header forum - godisadj - 21-12-2011

non on doit choisir entre header-footer et html ou php sans header-footer!
et j'aimerai les deux :/


RE: créer page PHP avec header forum - spyto - 21-12-2011

Alors, inspire-toi de ça :
http://mybb.fr/thread-4392-post-24300.html#pid24300

Cependant, même si je ne connais pas bien "Page Manager", je ne vois pas pourquoi tu ne pourrais pas inclure le header et le footer ? Dans la mesure où la page est écrite en PHP, tout est possible, me semble-t-il !


RE: créer page PHP avec header forum - godisadj - 22-12-2011

si si je peux inclure header et footer.
mais on peut pas mettre sur php quand les deux sont inclus. le php est seulement autorisé quand on choisi une page blanche!
J'ai réussi grâce à ce script :
Code PHP :
<?php
define
("IN_MYBB"1);
define('THIS_SCRIPT''MaPage.php');

require_once 
"./global.php";

$MonTitre "Ma Page PHP";
$MonContenu '';

add_breadcrumb($MonTitre"MaPage.php");

$template='<html>
<head>
<title>'
.$mybb->settings['bbname'].' - '.$MonTitre.'</title>
{$headerinclude}
</head>
<body>
{$header}
{$errors}
{$MonContenu}
{$footer}
</body>
</html>'
;

eval(
"\$my_body = \"".$template."\";");
output_page($my_body);
?>

mais maintenant j'aimerai poser une condition.
Si membre connecté on fait ça, sinon ça.
Comment on peut vérifier? C'est quoi la fonction pour tester si un membre est co?


RE: créer page PHP avec header forum - exdiogene - 22-12-2011

Pour cela, il est possible de vérifier la variable $mybb->user['uid'] pour savoir s'il est connecté ou non. Valeur 0 si non-connecté ou son UID s'il est connecté!..


RE: créer page PHP avec header forum - godisadj - 22-12-2011

Code PHP :
<?php
define
("IN_MYBB"1);
define('THIS_SCRIPT''registerChat.php');

require_once 
"./global.php";

$MonTitre "Ma Page PHP";
$MonContenu '
if($mybb->user['
uid'] == 0) {
echo "Erreur"; 
}
else {
echo "GG";
} '



add_breadcrumb($MonTitre"registerChat.php");

$template='<html>
<head>
<title>'
.$mybb->settings['bbname'].' - '.$MonTitre.'</title>
{$headerinclude}
</head>
<body>
{$header}
{$errors}
{$MonContenu}
{$footer}
</body>
</html>'
;

eval(
"\$my_body = \"".$template."\";");
output_page($my_body);
?>
J'ai une erreur PHP quand je teste ! Sad



RE: créer page PHP avec header forum - spyto - 22-12-2011

Code :
$MonContenu = '
C'est quoi ça ?
Code :
$MonContenu = '';
ça ira mieux !


RE: créer page PHP avec header forum - godisadj - 22-12-2011

erreur!
Code PHP :
$MonContenu ' if($mybb->user['uid'] == 0) { echo "Erreur"; } else { echo "GG"; } '



RE: créer page PHP avec header forum - Saphir - 22-12-2011

Mais tu ne peux pas mettre du PHP entre guillemets dans une variable voyons !
Essaye comme ça :
Code PHP :
if($mybb->user['uid']) {
    
$MonContenu "Bravo !";
} else {
    
$MonContenu "Erreur !";




RE: créer page PHP avec header forum - godisadj - 22-12-2011

D'acc mais si je veux l'adapter dans mon code je fais comment?
j'aimerai garder ma structure :/


RE: créer page PHP avec header forum - exdiogene - 22-12-2011

Il faut simplement remplacer :
Code PHP :
$MonContenu ' if($mybb->user['uid'] == 0) { echo "Erreur"; } else { echo "GG"; } '

par :
Code PHP :
if($mybb->user['uid']) {
    
$MonContenu "GG";
} else {
    
$MonContenu "Erreur";




RE: créer page PHP avec header forum - Saphir - 22-12-2011

Dans $MonContenu, tu peux mettre du HTML mais pas de PHP, si tu veux utiliser PHP pour modifier $MonContenu, il faut le faire à l'extérieur de la variable, par exemple le code suivant affiche le nom de la personne connectée, si quelqu'un est connecté, et en rouge si c'est un administrateur :

Code PHP :
if($mybb->user['uid']) {
    if(
$mybb->user['usergroup'] == 4) {
        
$MonContenu "<span style=\"color: red;\">";
    } else {
        
$MonContenu "<span>";
    }
    
$MonContenu .= "F&eacute;licitations " $mybb->user['username'] . ", vous vous &ecirc;tes connect&eacute;(e) au forum avec succ&egrave;s !</span>";
} else {
     
$MonContenu "Vous n'&ecirc;tes pas connect&eacute;(e) au forum.";




RE: créer page PHP avec header forum - godisadj - 22-12-2011

merci beaucoup!
dernière question. J'aimerai récupérer le nom d'utilisateur.
C'est quoi la ft?


RE: créer page PHP avec header forum - Saphir - 22-12-2011

La variable $mybb->user te permet de récupérer le contenu de tous les champs de la base de données relatifs au compte d'utilisateur actuellement connecté : $mybb->user['uid'] te donnera l'identifiant, $mybb->user['username'] son nom d'utilisateur (je l'ai utilisé dans mon exemple précédent), ou encore (utilisé également ci-dessus), l'identifiant de son groupe : $mybb->user['usergroup'], son nombre de messages, $mybb->user['postnum'], etc..


RE: créer page PHP avec header forum - godisadj - 22-12-2011

Ok et dans le $moncontenu j'aimerai ajouter des variables PHP.
comment je peux faire?

Code PHP :
<?php
define
("IN_MYBB"1);
define('THIS_SCRIPT''registerChat.php');

require_once 
"./global.php";

$MonTitre "Ma Page PHP";
if(
$mybb->user['uid']) {
$MonContenu 'Form goes here'
} else { 
$MonContenu 'Erreur, vous devez être connecté pour continuer!';
}




add_breadcrumb($MonTitre"registerChat.php");

$template='<html>
<head>
<title>'
.$mybb->settings['bbname'].' - '.$MonTitre.'</title>
{$headerinclude}
</head>
<body>
{$header}
{$errors}
{$MonContenu}
{$footer}
</body>
</html>'
;

eval(
"\$my_body = \"".$template."\";");
output_page($my_body);
?>

voilà mon code
et à la place de "form goes here", je veux mettre un formulaire qui traite des données ^^


RE: créer page PHP avec header forum - Saphir - 22-12-2011

Là, ça commence à dépasser le support de MyBB, il faudrait que tu apprennes le PHP. Smile

Je vais quand même répondre à ta question : pour insérer une variable dans une chaîne de caractères, il faut la concaténer en utilisant l'opérateur ".", exemple :
Code PHP :
$maVariable 10;
$monTexte "Vous avez " $maVariable " points."



RE: créer page PHP avec header forum - godisadj - 22-12-2011

enfait je t'explique!
je connais les bases du PHP mais là ton système va pas être possible...
j'ai un code venant d'un PHPBB, donc très complexe (environ 200 lignes)
le code marche correctement, j'aimerai l'intégrer dans mon code mybb.
donc si uid != 0
ON EXECUTE LE CODE
sinon
echo erreur

tu comprends??


RE: créer page PHP avec header forum - Saphir - 22-12-2011

De toute façon, tu ne pourras pas mettre ton code dans une variable s'il contient du PHP.
Pour être évaluée (fonction eval()), il faut que ta variable évaluée (ici $template) ne contienne qu'une chaîne de caractères, ce qui n'est pas le cas avec un bout de code PHP, c'est d'ailleurs pour cela que Page Manager ne permet d'utiliser conjointement les templates header et footer avec PHP.

Les templates sont là pour permettre d'afficher une page formatée : d'afficher, pas de gérer. Regarde les templates, tu n'y verras jamais de traitement d'information, jamais de PHP (sauf avec un certain plugin).

Ce que tu peux essayer, c'est d'installer ce plugin : http://mybbhacks.zingaburga.com/showthread.php?tid=260 et de créer un template contenant :
Code :
<if $mybb->user['uid'] then>
TON CODE
<else/>
Erreur.
</if>

et de créer ta page ainsi :
Code PHP :
<?php
define
("IN_MYBB"1);
define('THIS_SCRIPT''registerChat.php');

require_once 
"./global.php";

$MonTitre "Ma Page PHP";

add_breadcrumb($MonTitre"registerChat.php");

$template='<html>
<head>
<title>'
.$mybb->settings['bbname'].' - '.$MonTitre.'</title>
{$headerinclude}
</head>
<body>
{$header}
{$errors}
{$TON_TEMPLATE}
{$footer}
</body>
</html>'
;

eval(
"\$my_body = \"".$template."\";");
output_page($my_body);
?>

J'ignore totalement si ça fonctionne, mais ça risque pas grand chose d'essayer.


RE: créer page PHP avec header forum - godisadj - 22-12-2011

Oui mais y'a pas moyen de présenter le code autrement?
au lieu de faire
$titre
$contenu

echo titre
echo contenu

on pourrait pas faire directement un echo?
là du coup je pourrai faire ma condition
et mettre mon code phpbb simplement entre les accolades { }


 Utilitaire de traduction fourni par Regentronique