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> posté par";
echo " <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.
Merci pour ce script ça peu servir.
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 ?
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
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
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
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
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!
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
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)) {
...
}
?>
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
Note 3 : testé fonctionnel avec MyBB 1.2.12 et le plugin SEO by Spicefuse v1.0 bêta 9