Les commandes sont pour le moment fermées jusqu'à nouvel ordre, mais je peux assurer le support.
Merci de votre compréhension.
Requests are currently closed, but I can do some support.
Thanks for your understanding.
Important links - Liens importants
Règles - Rules | Présentez-vous - Introduce yourself | Problème d'inscription ? - Registration problem ?
Ishimaru-Design > Tutoriaux, ressources et support (fr) > FluxBB 1.4 > Tutoriels > [fluxbb] Formulaire de connexion sur son site
Ishimaru Chiaki | #1 09/08/2011 - 21h37 |
Class : ID Admin |
Vous faites votre site en utilisant les sessions de FluxBB et vous voulez insérer un bloc de connexion et des raccourcis utilisateur sur votre site ?
Cette astuce vous montre à en ajouter un. Prérequis Vous devez avoir inclus le fichier common.php du forum avant l'entête du site avant de suivre ce tuto. Pour le faire, consultez la page de la documentation à ce sujet Création du fichier Commencez d'abord par créer le nouveau fichier qui contiendra le code (quicklogin.php), puis incluez-le où vous le voulez (ex: header, menu latéral) <?php include('include/quicklogin.php'); ?> (faites de préférence un dossier spécifique pour les différents fichiers inclus de votre site, ça fait plus rangé) Pour la suite, je donnerai les codes en fonction d'un affichage dans un menu latéral. Vous n'avez qu'à adapter le code HTML pour vos besoins. Aussi, même si j'utilise un système de clés de langue sur mon site, je donnerai les codes avec les textes en dur. Libre à vous de les rendre localisables comme je le fais. La condition Puisque l'on veut que le formulaire de connexion ne s'affiche que si l'utilisateur est connecté, on doit utiliser une condition pour vérifier s'il est connecté ou non. Pour cela, on va utiliser la variable utilisateur $pun_user['is_guest'] pour effectuer la vérification. Et le tout, dans une condition if...else : <?php On est prêt pour la suite ! Le formulaire de connexion Voici le code à insérer dans la première partie de la condition : <!-- Panneau de connexion --> Vous pouvez remarquer cette ligne : <input type="hidden" name="redirect_url" value="<?php echo $_SERVER['PHP_SELF']; ?>" /> La variable $_SERVER['PHP_SELF'] permet de récupérer le chemin de la page courante depuis la racine de votre site. L'utilisation de cette variable permet au script de redirection de la page login.php du forum de rediriger l'utilisateur sur la page du site et non vers l'index du forum si la connexion réussit. Voici ce que ça donne jusqu'ici : <?php Maintenant, vous avez votre formulaire, mais vous aimeriez sûrement afficher des liens tels que Déconnexion, Profil, Messagerie (si vous avez installé un mod pour ça) et Mes interventions, pour les utilisateurs enregistrés. Pour cela, suivez la partie qui suit. Bloc de liens de l'utilisateurs Voici le code à inclure dans la deuxième partie de la condition : <!-- Options de l'utilisateur --> Vous remarquerez que seul le lien de déconnexion n'utilise pas la constante PUN_ROOT. La raison est simple : Lorsqu'on se déconnecte, on ne peut être redirigé que vers l'index du forum, et donc, c'est indiqué en dur dans la page login.php. Cela obligerait donc de devoir modifier ce fichier pour être capable de rediriger vers l'index du site, en plus que c'est très difficilement pensable d'utiliser la variable $_SERVER['PHP_SELF'] pour une valeur qui sera transférée par une variable $_GET, car si le lien à transférer contient lui-même plusieurs variables, cela devient difficile à gérer sans risquer de se retrouver avec une faille de sécurité qui permettrait à un pirate de rediriger vers un site malveillant. Afin donc de régler ce problème sans trop me casser la tête, je vous recommande de créer un fichier logout.php à la racine de votre site et d'y insérer ce code tiré du fichier login.php du forum : <?php De cette façon, vous serez redirigé vers l'index de votre site et non vers l'index du forum. Ensuite, si vous n'utilisez pas le mod New Private Messaging System, vous pouvez enlever la ligne suivante : <li><a href="<?php echo PUN_ROOT.'pmsnew.php'; ?>"><?php echo $lang['usr_pms']; ?></a></li> Et finalement, si vous n'avez pas de panel d'administration spécifique au site, vous pouvez aussi enlever ceci : <?php if ($pun_user['is_admmod']): echo '<li><a href="admin.php">Administration</a></li>'; endif; ?> Voilà ce que ça donne au final : <?php Il ne vous reste plus qu'à styler tout ça avec du CSS ! |
Arnone | #2 20/01/2012 - 11h13 |
Class : ID Newbie Offline |
Bonjour,
superbe tuto qui m'est très utile ! Par contre, je rencontre le problème suivant : Lorsque j'essaie de me connecter via une page dont l'url contient des variables du style : http://www.monsite.com/mapage.php?id=1&titre=mon%2titre la connexion a bien lieu mais je suis ensuite redirigé vers http://www.monsite.com/mapage.php et non vershttp://www.monsite.com/mapage.php?id=1&titre=mon%2titre J'imagine que mon problème vient de la fonction $_SERVER['PHP_SELF'] qui ne reconnait pas ces variables...? Merci pour votre aide |
Ishimaru Chiaki | #3 20/01/2012 - 23h16 |
Class : ID Admin |
En fait, j'ai eu moi-même des problèmes pour implémenter la prise en compte des URL à variables car ça m'aurait quasiment pris un gros regex juste pour empêcher les tentatives de piratage par variable GET… Je me suis donc pour le moment contentée de ne prendre en compte que la page choisie. Peut-être qu'en allant demander directement sur fluxbb.fr où j'y ai également posté l'astuce : http://fluxbb.fr/forums/viewtopic.php?id=12164
Juste en passant, ptit oubli ? http://ishimaru-design.servhome.org/forum/forum-tg13,the-hall-introduce-yourself-presentez-vous.html |
Arnone | #4 20/02/2012 - 16h15 |
Class : ID Newbie Offline |
salut, en fait j'ai trouvé une solution (certainement pas idéale) en utilisant $_SERVER['QUERY_STRING']
<input type="hidden" name="redirect_url" value="<?php echo $_SERVER['PHP_SELF']; ?>?<?php echo $_SERVER['QUERY_STRING']; ?>" /> ce n'est pas très joli car en l'absence de variable j'obtient une url du type : http://www.monsiteweb.php? mais cela fonctionne ... ps : oups j'avais zappé la présentation |
Ishimaru-Design > Tutoriaux, ressources et support (fr) > FluxBB 1.4 > Tutoriels > [fluxbb] Formulaire de connexion sur son site
> Stats
1 user(s) connected during the last 10 minutes (0 member(s) and 1 guest(s)).
Connectix Boards (fr) | phpBB.com | phpBB-fr.com | phpBB.biz | phpBB3styles | phpBBHacks | Awesomestyles | Le site du zéro | Servhome | Gimp-Attitude | Phobies-Zéro | Expomatique
Powered by Connectix Boards 0.8.4 © 2005-2012 (7 queries, 0.087 sec)