1. IMPORTANT : Nouvelles mesures de sécurité - 2. Règles pour obtenir de l'aide dans les forums de support - 3. Restrictions des droits pour le groupe "Support suspendu"

Il est obligatoire de respecter les Règles de MyBB.fr : Version abrégée ou Version complète pour obtenir du support sur nos forums.

Les membres ayant un site/forum contrevenant aux règles de MyBB.support seront placés dans le groupe "Support suspendu" et ne bénéficieront plus du support du staff. Nous recommandons aux autres membres d'agir de même. Il ne s'agit pas d'un bannissement, le membre retrouvera son statut "normal" dès que sa situation sera conforme aux règles.

Nouveau : un Wiki en français : plus de détails.
Avant de soumettre votre problème, consultez-le, ainsi que la FAQ, sans oublier le moteur de recherche interne.


Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
Script affichage derniers post sur son site
Mots-clés » script, affichage, derniers, post, sur, son, site
03-11-2006, 20:30,
#1
MyBB  Script affichage derniers post sur son site
Bonjour,
ce post servira à coup sur à une personne désireuse d'afficher les derniers post sur sont site.
C'est un petit script en php, vous pouvez biensur le modifier à volonter:

Code :
<? // Connection
$db = mysql_connect('serveur', 'login', 'mot de pass');
// on sélectionne la base
mysql_select_db('labase',$db);
//si forum à ne pas afficher
// mettre avant ORDER WHERE fid!=50 (50 est un exemple mettre l'id du forum
$sql = "SELECT * FROM mybb_posts ORDER BY dateline DESC LIMIT 0 , 10";
$res = mysql_query($sql);
while($tab=mysql_fetch_array($res)) {
$page =  "forums/showthread.php?tid=".$tab['tid']."";
echo "<a href='$page'?phpMyAdmin=Xh4i%2CY-uwx8w4xSjEcuYsoGsSGd&phpMyAdmin=d94da8bd43329421f3199a6d36766310&phpMyAdmin=c91fbf4bc017f64a3e9cc52cb49d0d48>";
$title=$tab['subject'];
$title = str_replace("é", "e", $title);
echo htmlspecialchars($title);
echo "</a>&nbsp; posté par";
echo "&nbsp;<span style=\"font-weight:bold;\">";
echo $tab['username'];
echo "</span>";
echo "<br>";
} ?>

Biensur on peut l'optimiser ou lui faire faire afficher juste un forum, à vous de voir.
Répondre
05-11-2006, 19:48,
#2
RE: Script affichage derniers post sur son site
Merci pour ce script ça peu servir. Wink
Répondre
23-12-2006, 0:02,
#3
RE: Script affichage derniers post sur son site
bonjour
une chose m'intrigue dans le code
il faut changer les variables en fonction de son site, sa base de donné, mot de passe de la base, user de la base pour que cela fonctionne
comme faire pour sécuriser le tout ?
il y a une astuce ?
Répondre
23-12-2006, 13:29,
#4
RE: Script affichage derniers post sur son site
bonjour
j'ai contourné le probleme en créant un fichier derniermessage.php avec le code que j'ai mis en CMOD 444
ensuite, dans ma page index.php, j'ai inclus le code <?php include("derniermessage.php");?>
et sa fonctionne
Répondre
24-12-2006, 21:56,
#5
RE: Script affichage derniers post sur son site
mumulafrite a écrit :
Code :
<? // Connection
$db = mysql_connect('serveur', 'login', 'mot de pass');

pour sécuriser un peu à mon avis il faudrais plutot un code du genre

Code :
$user = "nom d'user";
$password = "le pass";
$database = "la database";

$db = mysql_connect('$user', '$password', '$database');

ca évite déja de voir le pass et user de la base de donnée
Répondre
29-12-2006, 18:37,
#6
RE: Script affichage derniers post sur son site
Je suis content que des gens avisés fassent évolué ce script.
En effet quarty j'utilise partout ce genre de déclaration de variable mais je ne l'ai pas appliqué à celui ci
Répondre
11-06-2007, 22:06,
#7
RE: Script affichage derniers post sur son site
Bonjour.

Je débute en php, enfin j'ai des bases mais bon !!
Soit...

Si je met ça
Citation :Code :
$user = "nom d'user";
$password = "le pass";
$database = "la database";

$db = mysql_connect('$user', '$password', '$database');

Je met ça en complet, les visiteurs veront tout de même les accès non ?
Et est-ce possible, comme la dit jacquesco, de faire une include et
d'utiliser dans le fichier externe un DIV ?

Pollo
Répondre
12-06-2007, 13:31,
#8
RE: Script affichage derniers post sur son site
Bonjour,

N'y aurait-il pas un moyen d'afichier juste une fois le topic au lieu de mettre un lien pour chaque réponse...

Je sais pas si je suis très clair...?

Mais par exemple si 2 personne répondent dans le même topic, avec ce script il y aura deux fois le lien "RE:nom du forum" à la suite... ce qui n'est pas très pratique...

Une solution?

Merci d'avance!
Répondre
01-12-2007, 20:55,
#9
RE: Script affichage derniers post sur son site
merci pour le code.

PS

$db = mysql_connect('$user', '$password', '$database'); n'est pas valide, c'est plutot :

$db = mysql_connect($user, $password, $database);

bye

La théorie, c'est quand rien ne fonctionne et que l'on sait pourquoi.
La pratique, c'est quand tout fonctionne et que l'on ne sait pas pourquoi !
Répondre
03-12-2007, 16:57,
#10
RE: Script affichage derniers post sur son site
Ce que je ne comprend pas, c'est pourquoi vous n'utilisez pas les objets de MyBB?
Il serait relativement simple de faire:
Code PHP :
<?
$path2mybb 
'./forum'// Chemin d'accès au forum
$not_shown '18, 50'// Catégories à ne pas afficher
define("IN_MYBB"1);
require_once 
$path2mybb.'/inc/init.php';
$query $db->query("SELECT * FROM ".TABLE_PREFIX."posts WHERE fid NOT IN (".$not_shown.") ORDER BY dateline DESC LIMIT 0 ,10");
while (
$post $db->fetch_array($query)) {
   ...
}
?>

Répondre
25-04-2008, 15:05, (Modification du message : 25-04-2008, 15:08 par Troll.)
#11
RE: Script affichage derniers post sur son site
Je plussoie CrazyCat sur le fait d'utiliser ce qui est le mieux intégré au moteur.

Par contre ce qui pour ma part me paraît plus qu'étrange, c'est ceci :

Code :
echo "<a href='$page'?phpMyAdmin=Xh4i%2CY-uwx8w4xSjEcuYsoGsSGd&phpMyAdmin=d94da8bd43329421f3199a6d36766310&phpMyAdmin=c91fbf4bc017f64a3e9cc52cb49d0d48>";


Excusez-moi si ça paraît évident à d'autres mais... que viennent faire, en plein milieu d'une balise de lien, des variables relatives à PhpMyAdmin ?!

Pour ma part, j'ai repris un code proposé sur le forum anglais de Mybb (.net) et je l'ai adapté afin qu'il utilise le plugin SEO, je le donne ça pourrait servir à quelqu'un :

Code PHP :
<?php
/* Showing last forum threads
* Using the MyBB SEO Plugin cleaning function
*/
$PATHS['forum'] = "./forum/";
if(!
defined("IN_MYBB")) {
    
define("IN_MYBB"1);
    
chdir($PATHS['forum']);
    require_once(
'./global.php');
    
chdir('../');
}
require_once (
$PATHS['forum']."inc/plugins/seo.php");
$last_threads "";
$not_shown "12, 13, 14";
$lim 10;
 
$query $db->query("SELECT * FROM ".TABLE_PREFIX."threads WHERE fid NOT IN (".$not_shown.") ORDER BY tid DESC LIMIT 0 ,$lim");
    if(
$db->num_rows($query) > 0)
    {
        while(
$row $db->fetch_array($query))
        {
            
$the_url seo_clean_title($row['subject']) . "-t-{$row['tid']}.html";
            
$last_threads .= "<a href=\"{$PATHS['forum']}{$the_url}\">{$row['subject']}</a>\n";
        }
    }
    else
    {
        
$last_threads 'Nothing to display.';
    }
?>

Utilisation :
Code PHP :
<?php
require "./lastthreads.php";
echo 
'<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /></head><body>';
echo 
$last_threads;
echo 
'</body></html>';
?>


Note 1 : je considère dans ce bout de code que mybb est dans /forum/ et le script lancé à la racine.
Note 2 : pour le fichier d"'utilisation", penser à spécifier le charset car sinon tous les caractères spéciaux plantent Wink
Note 3 : testé fonctionnel avec MyBB 1.2.12 et le plugin SEO by Spicefuse v1.0 bêta 9
Répondre




Utilisateur(s) parcourant ce sujet :

Contact | MyBB.support | Retourner en haut | Retourner au contenu | Version bas-débit (Archivé) | Syndication RSS
 Utilitaire de traduction fourni par Regentronique