Souhaitez-vous participer à la création d'un jeu vidéo inspiré de Stardew Valley, ou le tester lorsque la version bêta sera disponible ? Remplissez notre sondage ou inscrivez-vous à notre lettre d'information (en bas de page)
1

PHPbb - Créer une page PHP intégrée au forum

le 28-06-2015 à 14:56 #
Bonjour les toiliens

C'est marrant de voir comment je pense toujours à ce forum qui m'a accueilli dès que j'ai une question où je bloque :)


Alors aujourd'hui j'aimerai modifier un peu mon forum PHPbb hébergé sur mon FTP (donc pas un truc gratuit ou autre, je peux absolument tout modifier).

J'ai dans l'optique de rajouter une page "Avancement" à côté des boutons "PCA - PCM - FAQ". Sauf que sur cette page je dois pouvoir faire du PHP (appels dans la BDD, ajouts par le biais d'un formulaire, récupérer le pseudo du membre connecté au forum, récupérer son rang pour gérer les permissions, ...)

Alors j'ai trouvé un petit MOD qui permet justement de rajouter une page vierge sur le forum pile à l'endroit souhaité : https://www.phpbb.com/customise/db/mod/blank_template_mod/

Le souci de ce mod est que je dois taper mon PHP dans le fichier qui se trouve à l'adresse ROOT/template.php mais que lorsque je dois faire passer de l'HTML il faut que je le mette dans une variable template pour ensuite l'appeler dans le fichier ROOT/styles/prosilver/mods/template_body.html

Ce qui me donne donc :

ROOT/template.php


if($user->data['user_id'] != ANONYMOUS)
{
$groupe = $user->data['group_id'];
$pseudo = $user->data['username'];

$template->assign_vars(array(
'WELCOME_TEXT' => 'Bienvenue '.$pseudo.' (groupe : '.$groupe.') sur ton espace personnel pour l\'avancement.'
)
);

while($result1 = mysql_fetch_object(mysql_query("SELECT * FROM avancement_liste WHERE id_jeu = 1")))
{
$template->assign_vars(array('AVANCEMENT_LISTE_TNC'=>'Nom : '.$result1->nom_fichier.' - id : '.$result1->id.' - id_jeu : '.$result1->id_jeu));
}
}
else
{
$template->assign_vars(array(
'WELCOME_TEXT' => '<font color=red><b>Veuillez vous connecter pour afficher cette page.</b></font>'
)
);
}


et

ROOT/styles/prosilver/mods/template_body.html


<!-- INCLUDE overall_header.html -->
<p>/!\ MERCI DE NE PAS TOUCHER À QUOI QUE CE SOIT AVANT D'EN AVOIR L'AUTHORISATION /!\</p>
<p>{WELCOME_TEXT}</p>
<p>{AVANCEMENT_LISTE_TNC}</p>
<!-- INCLUDE overall_footer.html -->


Le souci c'est que ça fonctionnait très bien avant que j'essaie de faire un while()...

Donc clairement, si déjà pour un simple while() ça bug, ce système est un peu galère j'ose même pas imaginer quand je vais devoir envoyer des $_POST et tout...


Vous auriez une solution à m'apporter pour faire en sorte d'avoir une page qui est "intégrée" au forum mais dans laquelle je peux faire un peu ce que je veux ?


Merci d'avance
Re: PHPbb - Créer une page PHP intégrée au forum
le 28-06-2015 à 20:26 #
Salut,

Si tu mets ta requête dans la condition du while, elle va être refaite à chaque itération, donc le while ne se terminera jamais.

Essaye:

[...]

$query = mysql_query("SELECT * FROM avancement_liste WHERE id_jeu = 1");
while($result1 = mysql_fetch_object($query))

[...]

Ben
Re: PHPbb - Créer une page PHP intégrée au forum
le 29-06-2015 à 04:50 #
En effet :)

    $sql = 'SELECT * 

FROM phpbb_users
WHERE user_id < 100';
$result = $db->sql_query($sql);

// Nous créons une boucle afin d'afficher tous les résultats dans un tableau
while ($row = $db->sql_fetchrow($result))
{
// Ici nous définissons que le "nom de la boucle"
$template->assign_block_vars('avancement_list_tnc', array(
'FILE_NAME' => $row['username'], // Pseudo du membre
'FILE_ID' => $row['group_id'], // Groupe du membre
'GAME_ID' => $row['user_id'], // ID du membre
));
}
$db->sql_freeresult($result);


Merci

J'ai bien encore 40'000 questions et soucis mais on va dire que c'est résolu pour le moment.




Ces discussions pourraient vous intéresser également:


transférer un forum phpbb simple vers un forum incorporé à un php-nuke
Forum phpbb Mods !!!
Créer une page Web de A à Z
Créer une page web.
Créer une page d'attente