IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Affichage de smileys (str_replace)


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 28
    Par défaut Affichage de smileys (str_replace)
    Bonjour,

    Je vient vers vous pour vous demander la marche a suivre pour pouvoir afficher des smileys, jutilise 3 page
    - Une page nomer "test.php" où il y a l'affichage du formulaire avec l'ajout des smileys par javascript (onclick)
    - Une autre page nomer "traitement_test.php" où j'enregistre dans la BDD les info passer par POST dans le formulaire
    - Et la dérniere page nomer "affichage_test.php" ou j'affiche ce qui a été saisi, le message et les smileys

    Le problème est que je ne sait pas comment afficher les smileys sur la page "affichage.php"

    Pouvez vous m'aidez?? est ce qu'il y a une fonction particuliere??

    Je vous met mes code, c'est plus parlant

    test.php ==> affichage formulaire et des smileys a selectionner
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    <html><head>
    <!------------------------------------------------------------------>
    <!-- Debut code Javascript insertion des smileys dans un textarea -->
    <!------------------------------------------------------------------>
    <script type="text/javascript">
    function addText(instext) {
        var mess = document.guestbook.message; // Variable a modifier selon le formulaire...
            //IE support
            if (document.selection) {
                mess.focus();
                sel = document.selection.createRange();
                sel.text = instext;
                document.guestbook.focus();
            }
            //MOZILLA/NETSCAPE support
            else if (mess.selectionStart || mess.selectionStart == "0") {
                var startPos = mess.selectionStart;
                var endPos = mess.selectionEnd;
                var chaine = mess.value;
    
                mess.value = chaine.substring(0, startPos) + instext + chaine.substring(endPos, chaine.length);
    
                mess.selectionStart = startPos + instext.length;
                mess.selectionEnd = endPos + instext.length;
                mess.focus();
            } else {
                mess.value += instext;
                mess.focus();
            }
        }
    </script>
    <!---------------------------------------------------------------->
    <!-- Fin code Javascript insertion des smileys dans un textarea -->
    <!---------------------------------------------------------------->
    
    </head>
    <body>
    <?php
    if(isset($_POST['message']))      
    
    $message=$_POST['message'];
    $t=$_POST['message'];
    echo bbCode($t);
    // Définition des balise BBCODE ...
    // remplace les balises BBCode par des balises HTML ...
    function bbCode($t)
    {  
    //////////////////////////////////////////////
    // DEFINITION DES SMILEYS PAR "str_replace" //
    //////////////////////////////////////////////
    $t=str_replace(':-&(','<img src="images/smileys/colere.gif" alt="colere">',$t);
    $t=str_replace(':-))','<img src="images/smileys/mdr.gif" alt="Mort de rire">',$t);
    
    ////////////////////////////////////////////////
    // DEFINITION DES CODE HTML PAR "str_replace" //
    ////////////////////////////////////////////////
    // barre horizontale
    $t=str_replace("[/]", "<hr width=\"100%\" size=\"1\" />", $t);
    $t=str_replace("[hr]", "<hr width=\"100%\" size=\"1\" />", $t);
       
    // gras
    $t=str_replace("", "<strong>", $t);
    $t=str_replace("", "</strong>", $t);
       
    // italique
    $t=str_replace("", "<em>", $t);
    $t=str_replace("", "</em>", $t);
       
    // soulignement
    $t=str_replace("", "<u>", $t);
    $t=str_replace("", "</u>", $t);
       
    // alignement centré
    $t=str_replace("
    ", "<div style=\"text-align: center\">", $t); $t=str_replace("
    ", "</div>", $t); // alignement à droite $t=str_replace("
    ", "<div style=\"text-align: right\">", $t); $t=str_replace("
    ", "</div>", $t); // alignement justifié $t=str_replace("[justify]", "<div style=\"text-align: justify\">", $t); $t=str_replace("[/justify]", "</div>", $t); // couleur $t=str_replace("[/color]", "</span>", $t); $regCouleur="\[color= ?(([[:alpha:]]+)|(#[[:digit:][:alpha:]]{6})) ?\]"; $t=ereg_replace($regCouleur, "<span style=\"color: \\1\">", $t); // taille des caractères $t=str_replace("[/size]", "</span>", $t); $regCouleur="\[size= ?([[:digit:]]+) ?\]"; $t=ereg_replace($regCouleur, "<span style=\"font-size: \\1px\">", $t); // lien $regLienSimple="\[url\] ?([^\[]*) ?\[/url\]"; $regLienEtendu="\[url ?=([^\[]*) ?] ?([^]]*) ?\[/url\]"; if (ereg($regLienSimple, $t)) $t=ereg_replace($regLienSimple, "<a href=\"\\1\">\\1</a>", $t); else $t=ereg_replace($regLienEtendu, "<a href=\"\\1\" target=\"_blank\">\\2</a>", $t); // mail $regMailSimple="\[email\] ?([^\[]*) ?\[/email\]"; $regMailEtendu="\[email ?=([^\[]*) ?] ?([^]]*) ?\[/email\]"; if (ereg($regMailSimple, $t)) $t=ereg_replace($regMailSimple, "<a href=\"mailto:\\1\">\\1</a>", $t); else $t=ereg_replace($regMailEtendu, "<a href=\"mailto:\\1\">\\2</a>", $t); // image $regImage="\[img\] ?([^\[]*) ?\[/img\]"; $regImageAlternatif="\[img ?= ?([^\[]*) ?\]"; if (ereg($regImage, $t)) $t=ereg_replace($regImage, "<img src=\"\\1\" alt=\"\" border=\"0\" />", $t); else $t=ereg_replace($regImageAlternatif, "<img src=\"\\1\" alt=\"\" border=\"0\" />", $t); return $t; // ============================================================================================== // ========================= FIN des definition des balises BBCODE ============================== // ============================================================================================== } ?> <form name="guestbook" action="traitement_test.php" method="post"> <center><br /> <b>Message</b><br /> <textarea name="message" rows="4" cols="40"> <?php $message = nl2br(stripslashes($donnees['message'])); echo $message; ?> </textarea> <br /><br /> <input name="Envoyer" value="Envoyer" type="submit">&nbsp;&nbsp;&nbsp;&nbsp; <input name="Effacer" value="Effacer" type="reset"> </center> </form> <br /><br /><center> <a href="#" onclick="addText(' :-)) ');return(false)"><img src="images/smileys/mdr.gif" alt="" border="0" /></a> &nbsp;&nbsp;<a href="#" onclick="addText(' :-&( ');return(false)"><img src="images/smileys/colere.gif" alt="" border="0" /></a> </center><br /><br /> </body></html>
    traitement_test.php ==> enregistrement dans la BDD
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    <?php 
    if (isset($_POST['message']))
    {
    $message=$_POST['message'];
    {
    mysql_connect("Localhost", "***", "***"); // Connexion à MySQL
     
    mysql_select_db("***"); // Sélection de la base
     
    mysql_query("INSERT INTO test VALUES('', '$message')");
    mysql_close();
    }
    }
    //=================
     
    // REDIRECTION...
     
    //=================
     
    header('Location: affichage_test.php');
    ?>
    affichage_test.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    <?php 
    mysql_connect("Localhost", "***", "***"); // Connexion à MySQL
     
    mysql_select_db("***"); // Sélection de la base
     
     
     
    $reponse = mysql_query("SELECT * FROM test ORDER BY ID DESC"); // Requête SQL
     
    // On fait une boucle pour lister tout ce que contient la table :
     
    while ($donnees = mysql_fetch_array($reponse) )
    {
    ?>
    <?php echo $donnees['id']; ?>
    <?php echo $donnees['message']; ?>
    <br /><br />
     
    <?php
     
    }
     
    mysql_close(); // Déconnexion de MySQL
     
    ?>
    Note : J'ai mis que 2 smileys pour une meilleurs visibiliter, merci de votre aide

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 28
    Par défaut
    Sil vous plait est ce qu'on pourrait m'aidez??

    J'ai tester beaucoups de chose, rien ne marche, j'ai mis les "str_replace" dans ma page de traitement ca m'aafine une erreur ==> Fatal error: Call to undefined function bbCode()

  3. #3
    Membre chevronné
    Homme Profil pro
    Développeur
    Inscrit en
    Juin 2006
    Messages
    645
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Juin 2006
    Messages : 645
    Par défaut
    Tu essaies d'appeler la fonction bbCode() qui n'est pas définie dans ton dernier script.

    Créé un script fonctions.inc (par exemple) que tu incluras dans tes différents scripts :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    include('fonctions.inc');
    Dans ce fichier, tu définis ta fonction bbCode() (et tu la supprimes du 1er script !), et le tour est joué.

Discussions similaires

  1. [TinyMCE] Affichage smileys comme sur ce forum
    Par elcoyotos dans le forum Bibliothèques & Frameworks
    Réponses: 0
    Dernier message: 21/11/2010, 12h04
  2. Une fonction qui utilise str_replace pour smiley
    Par sliverman dans le forum Langage
    Réponses: 3
    Dernier message: 11/10/2009, 20h09
  3. affichage smiley textarea
    Par viny dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 10/06/2009, 11h17
  4. Affichage en passant par un buffer...
    Par Sirotilc dans le forum MFC
    Réponses: 5
    Dernier message: 27/05/2002, 21h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo