[PHP]Fonction rechercher

Fermé
nhea Messages postés 51 Date d'inscription lundi 18 mai 2009 Statut Membre Dernière intervention 22 décembre 2009 - 5 sept. 2009 à 21:29
nhea Messages postés 51 Date d'inscription lundi 18 mai 2009 Statut Membre Dernière intervention 22 décembre 2009 - 6 sept. 2009 à 03:01
Bonjour,
je cherche une fonction qui remplace des ligne de code par des images, par example

si quelqu'un écrit (:rire:) sur le forum, sa va afficher un bonhomme sourire.

Merci de vos réponse d'avance
A voir également:

14 réponses

giheller Messages postés 1875 Date d'inscription dimanche 14 juin 2009 Statut Membre Dernière intervention 3 février 2024 142
5 sept. 2009 à 23:30
bonsoir,

je ne sais pas si cette fonction existe en php mais peut être pouvez vous en créer une.
0
Atropa Messages postés 1940 Date d'inscription mercredi 25 juin 2008 Statut Membre Dernière intervention 11 mai 2014 274
5 sept. 2009 à 23:48
il faut le faire avec str_replace()

par exemple : $string = str_replace(':rire:','<img src="./img.jpg" alt="sourire" />',$string);
0
giheller Messages postés 1875 Date d'inscription dimanche 14 juin 2009 Statut Membre Dernière intervention 3 février 2024 142
5 sept. 2009 à 23:51
bonne idée.
0
nhea Messages postés 51 Date d'inscription lundi 18 mai 2009 Statut Membre Dernière intervention 22 décembre 2009
5 sept. 2009 à 23:59
ok, merci je vais essayer tantôt, la je doit faire autre chose.
0
nhea Messages postés 51 Date d'inscription lundi 18 mai 2009 Statut Membre Dernière intervention 22 décembre 2009
6 sept. 2009 à 00:06
2 question:

ou faut que je place la ligne de code que tu m'a donné, voici mon code si sa peut t'aider a m'indiquer ou:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="fr-ca"><head></head>
<body style="background-image: url(arrplan.jpg);">
<div style="text-align: center;">
<div style="text-align: center;">
<img style="width: 990px; height: 255px;" alt="" src="header.png">
<?php
if (!isset($_GET['id_sujet_a_lire'])) {
echo 'Sujet non défini.';
}
else {
?>
<table width="500" border="1"><tr>
<td>
Auteur
</td><td>
Messages
</td></tr>
<?php
// on se connecte à notre base de données
mysql_connect ('localhost', 'root', '*******************');
mysql_select_db ('forum');
// on prépare notre requête
$sql = 'SELECT auteur, message, date_reponse FROM forum_reponses WHERE
correspondance_sujet="'.$_GET['id_sujet_a_lire'].'" ORDER BY date_reponse ASC';
// on lance la requête (mysql_query) et on impose un message d'erreur si la requête ne se passe pas bien (or die)
$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 décompose la date
sscanf($data['date_reponse'], "%4s-%2s-%2s %2s:%2s:%2s", $annee, $mois, $jour,
$heure, $minute, $seconde);
// on affiche les résultats
echo '<tr>';
echo '<td>';
// on affiche le nom de l'auteur de sujet ainsi que la date de la réponse
echo htmlentities(trim($data['auteur']));
echo '<br />';
echo $jour , '-' , $mois , '-' , $annee , ' ' , $heure , ':' , $minute;
echo '</td><td>';
// on affiche le message
echo nl2br(htmlentities(trim($data['message'])));
echo '</td></tr>';
}
// on libère l'espace mémoire alloué pour cette reqête
mysql_free_result ($req);
// on ferme la connection à la base de données.
mysql_close ();
?>
<!-- on ferme notre table html -->
</table>
<br /><br />
<!-- on insère un lien qui nous permettra de rajouter des réponses à ce sujet -->
<a href="./insert_reponse.php?numero_du_sujet=<?php echo $_GET['id_sujet_a_lire']; ?>
">Répondre</a>
<?php
}
?>
<br /><br />
<!-- on insère un lien qui nous permettra de retourner à l'accueil du forum -->
<a href="./index.php">Retour à l'accueil</a>
</body></html>

2iemement quand je le met avant d'afficher le message, sa me donne l'erreur suivent:
Notice: Undefined variable: string in C:\Program Files\EasyPHP 3.0\www\test\forum\lire_sujet.php on line 43
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Atropa Messages postés 1940 Date d'inscription mercredi 25 juin 2008 Statut Membre Dernière intervention 11 mai 2014 274
6 sept. 2009 à 00:11
l'idéale serait de le faire à l'enregistrement dans la db ça n'utiliserait qu'une fois la fonction au lieu de le faire à chaque affichage.

quand je fais ce genre de chose je fais une fonction dans un sens et une fonction dans l'autre et j'utilise la premier avant l'enregistrement et la seconde avant la modification parce que logiquement on enregistre et on modifie moins qu'on affiche... à part peut être si on a affaire à des personnes très lunatique.
0
nhea Messages postés 51 Date d'inscription lundi 18 mai 2009 Statut Membre Dernière intervention 22 décembre 2009
6 sept. 2009 à 00:26
Et ou je le mets le code que tu m'a donné($string = str_replace(':rire:','<img src="./img.jpg" alt="sourire" />',$string);)?
0
Atropa Messages postés 1940 Date d'inscription mercredi 25 juin 2008 Statut Membre Dernière intervention 11 mai 2014 274
6 sept. 2009 à 00:40
et bien juste avant d'enregistrer dans ta base de donnée

juste après htmlentities() par exemple

mais htmlentities() tu devrais le mettre aussi à l'enregistrement parce que comme je disais tu n'enregistre qu'une fois tes pages... alors que le but c'est qu'elles soient affichées le plus possible !!!

et il vaut mieux se protéger avant d'enregistrer !

au debut de chacune de mes pages je mets :

function ProtectArray($item) {
		$item = array_map('htmlentities',$item);
		if (@mysql_real_escape_string('b')) return array_map('mysql_real_escape_string',$item);
		else return $item;
	}

if (isset($_GET)) $GET = ProtectArray($_GET);
if (isset($_POST)) $POST = ProtectArray($_POST);
if (isset($_COOKIE)) $COOKIE = ProtectArray($_COOKIE);


mais il faut le mettre après la connexion à mysql...

de cette manière tu es sur que tout ce qui entre dans tes scripts est protégé
0
nhea Messages postés 51 Date d'inscription lundi 18 mai 2009 Statut Membre Dernière intervention 22 décembre 2009
6 sept. 2009 à 01:19
Sais que a la base s'est un forum. il y a 4 partie:
-index.php
-lire_sujet.php
-insert_sujet.php
-insert_reponse.php

si tu veut les script des 4 dit moi le
0
Atropa Messages postés 1940 Date d'inscription mercredi 25 juin 2008 Statut Membre Dernière intervention 11 mai 2014 274
6 sept. 2009 à 02:06
je ne comprend pas le sens de ton dernier post
0
nhea Messages postés 51 Date d'inscription lundi 18 mai 2009 Statut Membre Dernière intervention 22 décembre 2009
6 sept. 2009 à 02:25
Bon je vais dire clairement mon projet.
Je fait un Forum qui compose 4 page: index.php, insert_sujet.php, insert_reponse.php et lire_sujet.php dans sa, j'aimerais ajouter une fonction qui permet les smileys d'etre afficher.
0
Atropa Messages postés 1940 Date d'inscription mercredi 25 juin 2008 Statut Membre Dernière intervention 11 mai 2014 274
6 sept. 2009 à 02:35
et bien tu mets tes traitements de chaines là ou tu les enregistres dans la base de donnée donc dans insert_sujet.php je suppose...

et pour rajouter des smiley tu fais ça avec des str_replace() ou plutôt des array dans str_replace()

https://www.php.net/str_replace

voilà la doc de la fonction
0
nhea Messages postés 51 Date d'inscription lundi 18 mai 2009 Statut Membre Dernière intervention 22 décembre 2009
6 sept. 2009 à 02:45
Je pensait qu'il fallait mettre sa dans lire_sujet.php vis que sais la qu'il doit lire les sujet et les modifier au fure et a mesure qu'il lit le code
0
Atropa Messages postés 1940 Date d'inscription mercredi 25 juin 2008 Statut Membre Dernière intervention 11 mai 2014 274
6 sept. 2009 à 02:47
tout dépend comment tu as codé le truc
0
nhea Messages postés 51 Date d'inscription lundi 18 mai 2009 Statut Membre Dernière intervention 22 décembre 2009
6 sept. 2009 à 03:01
Bref, je regarderais sa demain et je te donne des nouvelle, il est asser tard.
0