Page 1 sur 2
inserer des smiley dans messageries
Posté : 31 mars 2006, 09:45
par delirium
bonjour
voila jai un gros soucis.. je ne parviens pas a installer des smil dans ma page de messagerie jai crée une petit site de rencontre il y a une messagerie interne et jaimerais que les membres puisse inserer des smiley dans leur mail
merci d'avance[/php]
Posté : 31 mars 2006, 09:49
par mario
<?php
$str = 'Hello :oD je cherche l\'amour de ma vie :oP !';
$recherche = array(':oD', ':oP');
$remplace = array('<img src="smiley1.gif"/>', '<img src="smiley2.gif"/>');
echo str_replace($recherche, $remplace, $str);
/*
Hello <img src="smiley1.gif"/> je cherche l'amour de ma vie <img src="smiley2.gif"/> !
*/
?>
Bonjour
Posté : 31 mars 2006, 10:47
par artémis
Je suis tombée sur ce post et la réponse a cette question m'intéresse aussi mais petit soucis je ne sais pas a quoi correspond ces codes php est ce que qqn pourrait m'éclairer svp...
Posté : 31 mars 2006, 10:56
par mario
<?php
// pour l'exemple, je stocke la phrase dans une variable que j'appelle $str
$str = 'Hello :oD je cherche l\'amour de ma vie :oP !';
// la phrase peut très bien venir d'un fichier texte, d'une base de donnée, d'un formulaire html, etc...
// INFO sur les variables: http://fr.php.net/manual/fr/language.types.string.php
// Je stocke dans un array (tableau) les symboles représentant un smiley
// INFO sur les array:
// http://fr.php.net/manual/fr/language.types.array.php
$recherche = array(':oD', ':oP');
// Je stocke dans un array (tableau) les images qui remplaceront les symboles par une image
// INFO sur les array:
// http://fr.php.net/manual/fr/language.types.array.php
$remplace = array('<img src="smiley1.gif"/>', '<img src="smiley2.gif"/>');
// A noter que l'image smiley1.gif remplacera le premier élement du tableau $recherche, ainsi de suite
// str_replace -- Remplace toutes les occurrences dans une chaîne
// INFO: http://fr3.php.net/str_replace
echo str_replace($recherche, $remplace, $str);
/*
Hello <img src="smiley1.gif"/> je cherche l'amour de ma vie <img src="smiley2.gif"/> !
*/
?>
MERCI
Posté : 31 mars 2006, 11:15
par vinc
je ne connais pas grand chose en php javais donné ce poste a qq qui ce pretendais programmeur et rien ne fonctionne et la j'apprends sur le tas comme je dirais tj chacun sont truc moi je suis instructeur pilote a l'armée lol et je suis pres a remunerer la personne si il pouvais maider juste pour les smil et cette histoire de drapeau qui aparaitrais a coté duu pseudo
help help help
merci d'avance pour la réponse
ps je remarque qu'il y a encore des francais sympa lol j'rigole
Re: MERCI
Posté : 31 mars 2006, 11:19
par mario
help help help
Pas de panique, en procédant par étape, tu pourras comprendre facilement.
dis moi ce que tu ne comprends pas exactement.... l'exemple ci dessus où comment le mettre en pratique depuis un enregistrement MySQL ?
encore merci
Posté : 31 mars 2006, 11:40
par vinc
merci de repondre aussi vite c'est super sympa en faite je vais procéder
par la premiere chose je vais coller le code de la page et sur cette page, jaimerais inserer en bas des smill que les membres pourrais inserer dans leur messages mais je te le redis je comprend rien du tous je me debrouille en graphisme mais la boooo lolll jai l'impression de monter pour la premiere fois dans un alpha jet mdrrr et le problem le site devais etre ouvert pour fin de ce mois si et comme je dis rien ne vas

enfin soite je suis pas ici pour verser une larme lol
le code
<?php
require_once("phplib/connect.php");
require_once("phplib/requete.class.php");
require_once("phplib/lib.php");
session_start();
if (!isset($_SESSION['id_membre'])) header("location: redirinscr.html");
$visiteur = $_SESSION['id_membre'];
$membrefiche = $_GET['id'];
$sqlvip = "SELECT vip FROM tem_membres WHERE id_membre='$visiteur'";
$result = mysql_query($sqlvip, $link) or die($sqlvip."<br/>".mysql_error());
while($row=mysql_fetch_assoc($result)) {
$limitevip = $row['vip'];
}
mysql_free_result($result);
$diff = diff2date(date("Y-m-d"), $limitevip);
if ($diff['jours'] < 0) header("location: redirvip.html");
if (!empty($_POST)) {
$sqlmessage = new requete("INSERT", "poste de message");
foreach($_POST as $key=>$value) {
if($key=="titre" && $value=="") $value = "Sans titre";
$sqlmessage->addChampValeur("tem_messages", $key, addslashes(htmlentities($value)));
}
if ($sqlmessage->execute($link)) {
header("location: fiche.php?id=$membrefiche");
} else {
die($sqlmessage->erreur);
}
}
$sqlpseudo = "SELECT pseudo FROM tem_membres WHERE id_membre='$membrefiche'";
$result = mysql_query($sqlpseudo, $link) or die($sqlpseudo."<br/>".mysql_error());
while($row=mysql_fetch_assoc($result)) {
$pseudo = stripslashes($row['pseudo']);
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- Début HEADER --><HTML><HEAD><TITLE>temple du plaisir (rencontre)</TITLE><LINK
href="message envoyer_fichiers/style.css" rel=stylesheet>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<STYLE type=text/css>BODY {
BACKGROUND-COLOR: #FFFFFF}
.Style3 {
FONT-WEIGHT: bold; COLOR: #ff0099
}
.Style6 {
COLOR: #000000
}
.Style7 {
FONT-WEIGHT: bold; COLOR: #000000; FONT-STYLE: italic
}
.Style8 {
FONT-SIZE: 16px
}
.Style14 {
FONT-SIZE: 14px; COLOR: #666666
}
.Style15 {
FONT-WEIGHT: bold; FONT-SIZE: 14px; FONT-STYLE: italic
}
</STYLE>
<META content="MSHTML 6.00.2600.0" name=GENERATOR></HEAD>
<BODY class=back0 leftMargin=0 topMargin=0 marginheight="0" marginwidth="0">
<CENTER><BR>
<TABLE height=619 cellSpacing=0 cellPadding=0 width=777 border=0>
<TBODY>
<TR>
<TD class=bg vAlign=top width=777 height=82><IMG height=82 alt=banniere
src="images/banniere2.jpg" width=767></TD>
</TR>
<TR>
<TD height=537><!-- fin HEADER --><!-- cellule pour votre contenu : début -->
<TABLE cellSpacing=0 cellPadding=0 width=770 border=0>
<TBODY>
<TR>
<TD width=3 height=489><IMG height=1
src="message envoyer_fichiers/clear.gif" width=3></TD>
<TD class=bg1 width=8><IMG height=1
src="message envoyer_fichiers/clear.gif" width=8></TD>
<TD class=bg1 width=748>
<TABLE cellSpacing=0 cellPadding=0 width=748 border=0>
<TBODY>
<TR>
<TD class=txt0>
<DIV class=Style6 align=left>
<DIV align=center>Ils nous rejoignent cette semaine :
</DIV></DIV></TD></TR>
<TR>
<TD><IMG height=10 src="message envoyer_fichiers/clear.gif"
width=1></TD></TR>
<TR>
<TD align=middle>
<TABLE cellSpacing=0 cellPadding=0 border=0>
<TBODY>
<TR>
<TD class=bg2><IMG height=50 hspace=2
src="images/1.jpg" width=50
vspace=2></TD>
<TD><IMG height=1
src="message envoyer_fichiers/clear.gif" width=5></TD>
<TD class=bg2><IMG height=50 hspace=2
src="images/2.jpg" width=50
vspace=2></TD>
<TD><IMG height=1
src="message envoyer_fichiers/clear.gif" width=5></TD>
<TD class=bg2><IMG height=50 hspace=2
src="images/3.jpg" width=50
vspace=2></TD>
<TD><IMG height=1
src="message envoyer_fichiers/clear.gif" width=5></TD>
<TD class=bg2><SPAN class=txt0><IMG height=50 hspace=2
src="images/6.jpg" width=50
vspace=2></SPAN></TD>
<TD><IMG height=1
src="message envoyer_fichiers/clear.gif" width=5></TD>
<TD class=bg2><IMG height=50 hspace=2
src="images/8.jpg" width=50
vspace=2></TD>
<TD><IMG height=1
src="message envoyer_fichiers/clear.gif" width=5></TD>
<TD class=bg2><IMG height=50 hspace=2
src="images/7.jpg" width=50
vspace=2></TD>
<TD><IMG height=1
src="message envoyer_fichiers/clear.gif" width=5></TD>
<TD class=bg2><IMG height=50 hspace=2
src="images/5.jpg" width=50
vspace=2></TD>
<TD><IMG height=1
src="message envoyer_fichiers/clear.gif" width=5></TD>
<TD class=bg2><IMG height=50 hspace=2
src="images/4.jpg" width=50
vspace=2></TD>
</TR></TBODY></TABLE></TD></TR>
<TR>
<TD align=middle>
<DIV class=Style3 align=right>
<DIV align=left></DIV></DIV></TD></TR></TBODY></TABLE>
<TABLE cellSpacing=0 cellPadding=0 width=748 border=0>
<TBODY>
<TR>
<TD width=15> </TD>
<TD width=718> </TD>
<TD width=15> </TD>
</TR>
<TR>
<TD background="" height=274> </TD>
<TD class=bg0>
<TABLE height=312 cellSpacing=0 cellPadding=0 width=718
border=0>
<TBODY>
<TR>
<form name="form1" method="post" action="envoimessage.php?id=<?php echo $membrefiche; ?>">
<TD class=txt1 height=273>
<TABLE cellSpacing=0 cellPadding=1 width="100%"
border=1>
<TBODY>
<TR>
<TH scope=row bgColor=#cccccc colSpan=6>
<P> </P>
<P>envoyer un message : </P>
<P> </P></TH></TR>
<TR>
<TD scope=row bgColor=#ffcc99 colSpan=6 height=36>
<DIV class=Style15 align=center>à : <?php echo $pseudo; ?></DIV></TD></TR>
<TR>
<TH height=201 colSpan=6 align="left" valign="top" scope=row>
<input name="id_envoyeur" type="hidden" value="<?php echo $visiteur; ?>" />
<input name="id_destinataire" type="hidden" value="<?php echo $membrefiche; ?>" />
<input name="dateenvoie" type="hidden" value="<?php echo date("Y-m-d"); ?>" />
<p>Titre :
<input name="titre" type="text" id="titre" size="100" maxlength="100">
</p>
<p>Message :<br>
<textarea name="message" cols="80" rows="10" id="message"></textarea>
</p>
<P class=Style14> </P>
<P class=Style14> </P></TH></TR></TBODY></TABLE>
<P align=center><INPUT type=submit value=Envoyer>
</P>
<P><A
href="mailto:[email protected]"></A></P></TD>
</form>
</TR>
<TR>
<TD class=txt1 bgColor=#cccccc height=39>
<P align="center" class=Style8><a href="fiche.php?id=<?php echo $visiteur; ?>">Retour à ma fiche </a></P></TD></TR></TBODY></TABLE></TD>
<TD background=""> </TD></TR>
<TR>
<TD height=15> </TD>
<TD> </TD>
<TD> </TD>
</TR></TBODY></TABLE>
<DIV align=center><A class=Style7
href="mailto:[email protected]">[email protected]</A></DIV></TD>
<TD class=bg1 width=8><IMG height=1
src="message envoyer_fichiers/clear.gif" width=8></TD>
<TD width=3><IMG height=1 src="message envoyer_fichiers/clear.gif"
width=3></TD></TR></TBODY></TABLE><!-- cellule pour votre contenu : fin --><!-- Début FOOTER --></TD></TR></TBODY></TABLE></CENTER><!-- fin FOOTER --></BODY></HTML>
[/php]
Posté : 31 mars 2006, 12:06
par mario
En début de script, teste ça (après session_start() )
if ( (isset($_POST['message'])) && (!empty($_POST['message'])){
$recherche = array(':oD', ':oP'); // détection des symboles
$remplace = array('<img src="smiley1.gif"/>', '<img src="smiley2.gif"/>'); // remplacement par des images
echo str_replace($recherche, $remplace, $_POST['message']);
exit();
}
ça te permettra de tester le remplacement de :oD par son image
il te faut bien sur l'image dans le dossier contenant ton script.
si tu as compris le principe, je te recommande d'utiliser ça uniquement lors de l'affichage des messages (et pas avant l'INSERT dans ta table MySQL).
Posté : 31 mars 2006, 12:26
par vinc
donc une fois le' code mis en place, je dois avoir un dossier "gif" dans lequel se trouve tt mes smileys en images c'est bien ca?
Posté : 31 mars 2006, 12:29
par vinc
ton code mis à l'endroit ou tu m'as dis de le mettre affiche une erreure :
Parse error: parse error, unexpected '{' in /home/templedu/public_html/rencontre1/envoimessage.php on line 6
à tu une idée du pq et du comment?
Posté : 31 mars 2006, 12:30
par mario
j'ai oublié une )
if ( (isset($_POST['message'])) && (!empty($_POST['message'])) ){
$recherche = array(':oD', ':oP'); // détection des symboles
$remplace = array('<img src="smiley1.gif"/>', '<img src="smiley2.gif"/>'); // remplacement par des images
echo str_replace($recherche, $remplace, $_POST['message']);
exit();
}
Posté : 31 mars 2006, 12:42
par vinc
oki merci j'essaye

Posté : 31 mars 2006, 12:50
par vinc
LOL
y a du progrès, on sait écrire le message il reconnait qu'il y a une image (smiley) mais qd je faios envoyer, j'arrive sur un page blache qui ma montre un apperçu de mon message... et le destinataire ne reçoit rien...
Posté : 31 mars 2006, 12:54
par mario
bah normal, j'ai mis un exit() pour stopper le script... c'était juste pour que tu comprennes le principe...
donc efface ce que tu as ajouté... utilise cette portion de code uniquement lorsque tu souhaites afficher le message d'un visiteur..
En résumé...
Posté : 31 mars 2006, 13:01
par vinc
des millon de fois mercipour ton aide!!!
pour etre sure d'avoir tout compris je place ce bout de code sur la fiche ou les gens lisent leur messages (messagesrecu.php) et pr que le gens sachent que la fonction smileys estactive je n'ai qu'a mettre sur envoyer message les images avec le code qui leur correspond...
arrête moi si je me trompe
enfaisant comme ca, lorsque j'envoisd un mess a qqn il ne reconais plus qu'il y a une image... doije mettrece code sur la fiche envoismessage.php aussi?
encore une fois merci bcp pr ton aide!