fran6

Inscris le 08/07/2008 à 12:34

Ses dernières news

Aucune news

Ses derniers sujets sur les forums

forum
fran6
Bonjour,
J'ai un niveau moyen en php. J'essaie de faire un petit dictionnaire sous php. Lorsque je tape la lettre "a" ou "b" ou "c" dans le formulaire, le script affiche par douze tous les mots commençant par un "a" ou "b" ou "c" dans le dictionnaire avec une barre de navigation en bas.

Tout marche très bien pour la première page mais la deuxième page et la suite reste vide. Est-ce que quelqu'un peut me dire pourquoi ???

Merci de votre réponse.

Le code se trouve ici:
http://www.lephpfacile.com/wall/wall-1853.php
fran6
le 17/04/2009 à 15:46
Problème avec BB-code et smileys
Bonjour,

Avec le livre d'or de lephpfacile, j'ai réussi à ajouter un système de BB-code et smileys.
Cependant lorsque je veux changer le BB-code et le code du smileys en images j'ai un problème.

La page affiche l'erreur suivante :
Fatal error: Cannot redeclare bbcode() (previously declared in C:\wamp\www\site_1\fr\livre_dor\index.php:438) in C:\wamp\www\site_1\fr\livre_dor\index.php on line 438

A signaler que j'ai déjà suivi le forum sur ce problème http://www.lephpfacile.com/forum/1-php-mysql/132-systeme-de-smileys-ds-news.

J'ai deux questions :
1/ Où faut-il mettre la fonction bbcode. Est-ce toujours à la 4e place comme le dit le forum:
1) preparation de la requete SQL ($sql = 'select ....')
2) execution de cette requette ($req = mysql_query($sql))
3) recuperation des donnees (while ($data = mysql_fetch_array($req)) {)
4) affichage des données (echo $news)

Alors pour afficher tes smiley, entre l'etape 3 et l'etape 4 il faut utiliser la fonction str_replace.

Si oui; càd j'ai mis le code au bon endroit.
Est-ce qu'il y a un problème avec la fonction bbcode ?? Lequel ??? Pouvez-vous m'aider s'il vous plaît ???
Voici le code du livre d'or:
<?php

// on se connecte à notre base
$base = mysql_connect ('localhost', 'root', 'mypass');
mysql_select_db ('mybdd', $base);

// on prépare une requête permettant de calculer le nombre total d'éléments qu'il faudra afficher sur nos différentes pages
$sql = 'SELECT count(*) FROM livre_or';

// on exécute cette requête
$resultat = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());

// on récupère le nombre d'éléments à afficher
$nb_total = mysql_fetch_array($resultat);

// on teste si ce nombre de vaut pas 0
if (($nb_total = $nb_total[0]) == 0) {
echo 'Aucune réponse trouvée';
}
else {
echo '<div class="message">';

// sinon, on regarde si la variable $debut (le x de notre LIMIT) n'a pas déjà été déclarée, et dans ce cas, on l'initialise à 0
if (!isset($_GET['debut'])) $_GET['debut'] = 0;

$nb_affichage_par_page = 5;

// Préparation de la requête avec le LIMIT
$sql = 'SELECT * FROM livre_or ORDER BY id DESC LIMIT '.$_GET['debut'].','.$nb_affichage_par_page;

// on exécute la requête
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());

// on va scanner tous les tuples un par un
while ($data = mysql_fetch_array($req)) {

// on affiches les résultats dans la <table>
echo '<div class="en-tete_message"><table border="1"><tr><td width="250"><p class="titre_message">Par : ' , htmlentities(trim($data['name'])) , '</p></td><td width="233"><p class="titre_message">Le : ' , htmlentities(trim($data['date'])) , '</p></td><td width="100"><p class="titre_message">Note : ' , htmlentities(trim($data['note'])) , '/10</p></td></tr></table></div>
<div class="corps_message"><table border="1" width="583"><tr><td><p class="texte_message">' , htmlentities(trim($data['message'])) , '</p></td></tr></table></div><br /><br />';
}

// on libère l'espace mémoire alloué pour cette requête
mysql_free_result ($req);
echo '</div><br /><br />';

// on affiche enfin notre barre
echo '<div class="nbr_pages">'.barre_navigation($nb_total, $nb_affichage_par_page, $_GET['debut'], 3).'</div>';
}
// on libère l'espace mémoire alloué pour cette requête
mysql_free_result ($resultat);
// on ferme la connexion à la base de données.
mysql_close ();
echo '</table><br />';
?>


Voici également le bb-code:
<?php

function bbcode($text)
{
$text = nl2br($text);

$text = str_replace("[b]", "<strong>", $text);
$text = str_replace("[/b]", "</strong>", $text);

$text = str_replace("[u]", "<u>", $text);
$text = str_replace("[/u]", "</u>", $text);

$text = str_replace("[i]", "<em>", $text);
$text = str_replace("[/i]", "</em>", $text);

$text = str_replace("[center]", "<center>", $text);
$text = str_replace("[/center]", "</center>", $text);

$text = str_replace(" ", "&nbsp;&nbsp;", $text);

$text = str_replace('}()','<img src="images/smileys/smiley1ani.gif" alt="" style="border:0"/>',$text);
$text = str_replace('8o','<img src="images/smileys/smiley2ani.gif" alt="" style="border:0"/>',$text);
$text = str_replace(':D','<img src="images/smileys/smiley3ani.gif" alt="" style="border:0"/>',$text);
$text = str_replace(':))','<img src="images/smileys/smiley4ani.gif" alt="" style="border:0"/>',$text);
$text = str_replace('z|','<img src="images/smileys/smiley5ani.gif" alt="" style="border:0"/>',$text);
$text = str_replace(':(','<img src="images/smileys/smiley6ani.gif" alt="" style="border:0"/>',$text);
$text = str_replace(';)','<img src="images/smileys/smiley7ani.gif" alt="" style="border:0"/>',$text);
$text = str_replace('8|','<img src="images/smileys/smiley9ani.gif" alt="" style="border:0"/>',$text);
$patterns = array();
$replacements = array();

$patterns[] = "#\[img\](.*?)\[/img\]#si";
$replacements[] = "<img src=\"\\1\" border=\"0\" />";

$patterns[] = "#\[url\]([a-z0-9]+?://){1}([\w\-]+\.([\w\-]+\.)*[\w]+(:[0-9]+)?(/[^ \"\n\r\t<]*)?)\[/url\]#is";
$replacements[] = "<a href=\"\1\2\" target=\"_blank\" class=\"postlink\">\1\2</a>";

$patterns[] = "#\[url\]((www|ftp)\.([\w\-]+\.)*[\w]+(:[0-9]+)?(/[^ \"\n\r\t<]*?)?)\[/url\]#si";
$replacements[] = "<a href=\"http://\\1\" target=\"_blank\" class=\"postlink\">\\1</a>";

$patterns[] = "#\[url=([a-z0-9]+://)([\w\-]+\.([\w\-]+\.)*[\w]+(:[0-9]+)?(/[^ \"\n\r\t<]*?)?)\](.*?)\[/url\]#si";
$replacements[] = "<a href=\"\\1\\2\">\\6</a>";

$patterns[] = "#\[url=(([\w\-]+\.)*?[\w]+(:[0-9]+)?(/[^ \"\n\r\t<]*)?)\](.*?)\[/url\]#si";
$replacements[] = "<a href=\"http://\\1\">\\5</a>";

$patterns[] = "#\[email\]([a-z0-9\-_.]+?@[\w\-]+\.([\w\-\.]+\.)?[\w]+)\[/email\]#si";
$replacements[] = "<a href=\"mailto:\\1\">\\1</A>";

return preg_replace($patterns, $replacements, $text);
}

echo bbcode($truc);
?>


J'attends votre aide.

Ses derniers messages sur les forums

forum
fran6
Bonjour,
J'ai un niveau moyen en php. J'essaie de faire un petit dictionnaire sous php. Lorsque je tape la lettre "a" ou "b" ou "c" dans le formulaire, le script affiche par douze tous les mots commençant par un "a" ou "b" ou "c" dans le dictionnaire avec une barre de navigation en bas.

Tout marche très bien pour la première page mais la deuxième page et la suite reste vide. Est-ce que quelqu'un peut me dire pourquoi ???

Merci de votre réponse.

Le code se trouve ici:
http://www.lephpfacile.com/wall/wall-1853.php

Ses derniers commentaires de news

Aucun commentaire de news

Ses derniers commentaires de sites

Aucun commentaire de sites

Ses derniers commentaires de wall

Aucun commentaire wall
LoadingChargement en cours