Voici mon script de commentaire, et je voudrais ajouter des smileys. J'ai donc mis en place un systeme de prévisualisation, mais lorsque je valide, les smileys ne sont pas pris en compte dans le commentaire, j'ai le raccourci.
Dans head :
<script language="javascript" type="text/javascript" src="prev.js"></script><!-- on appelle le fichier prev.js pour faire fonctionne la prévisualisation -->
<formmethod="post"name="formulaire"action=""> <palign="center"><imgsrc="http://www.ffocean.com/forumff/images/smiles/Cap_PDT_01_02.gif"alt=""onClick="javascript:smilies(':D');return(false)"/></p> <palign="center"> <label>Votre pseudo : <br/><inputtype="text"name="pseudo"/><br/></label> <label>Laissez votre message ! <br/> <inputname="auto"id="auto"type="checkbox"onClick="automatique()"/><labelfor="auto">Prévisualisation automatique</label><br/> <textareaname="message"id="message"rows="5"cols="25"></textarea><br/></label> <br/><br/> <inputtype="hidden"name="idcomment"value="<?php echo $_GET['idnews']; ?>" /> <br /> <input type="button" value="Prévisualiser" onClick="previsualisation();return(false)" /><!-- ce bouton va permettre aux utilisateurs de d'avoir un aperçu quand ils le veulent, pas en direct --></p> <div style="border: 1px dashed #000000; padding: 0.2em; height: 130px; overflow: auto; width: 35%; margin:auto" align="left" id="prev"></div> <!-- on créer un div avec quelques caractéristique, on lui donne un nom et on ne le remplit pas, on le laisse vide --> <p align="center"><input type="submit" name="submit" value="Envoyer !" /> </p> </form>
<?php if(isset($_POST['message']) AND isset($_POST['pseudo'])) { if($_POST['message'] != '' AND $_POST['pseudo'] != '') { $auteur = addslashes(htmlentities($_POST['pseudo'], ENT_QUOTES)); $message = addslashes(htmlentities($_POST['message'], ENT_QUOTES)); $idcomment = $_POST['idcomment']; /* Tout ce charabia est une petite vérification : on fait attention à ce que l'auteur ait rempli tous les champs. Quels champs ? Ceux du formulaire que l'on va créer un peu plus bas :)*/
mysql_query("INSERT INTO commentaireff VALUES('', '" . $auteur . "', '" . $message . "', '" . $idcomment . "')")or die(mysql_error()); /* Là, on entre juste les données dans une nouvelle entrée de la table SQL...*/
echo"<h3>Merci d'avoir commenté !</h3>"; } elseecho"<h3>Remplissez tous les champs</h3>"; } $infos = mysql_query('SELECT * FROM commentaireff WHERE idnews=' . $_GET['idnews'] . ' ORDER BY id DESC')or die(mysql_error()); /*Ici on liste les commentaires dans l'ordre décroissant où le champ idnews est le même que celui de la variable contenue dans l'adresse de la page*/ while($donnees = mysql_fetch_array($infos))/*Une boucle pour écrire les données*/ { $pseudo = stripslashes($donnees['pseudo']); $message = stripslashes($donnees['message']); ?>
<p><strong><?php echo$pseudo; ?></strong> a commenté :<br /><?php echo$message; ?></p> <?php}?>
var timer=0; var ptag=String.fromCharCode(5,6,7); function previsualisation(){
t=document.formulaire.message.value
t=code_to_html(t) if(document.getElementById) document.getElementById("prev").innerHTML=t if(document.formulaire.auto.checked) timer=setTimeout(previsualisation,1)
<!-- le "1" est le temps que met le texte à s'afficher, "1" : le texte s'affichera en même temps que l'on écrit (en s) -->
}
function automatique() {
if (document.formulaire.auto.checked) previsualisation() <!-- si on a cocher la case d'aperçu automatique --> } function code_to_html(t){
t=nl2khol(t)
// smilies Smile <!-- on oublie pas les smilies -->
t=remplace_tag(/:D/g,'<img src="http://www.ffocean.com/forumff/images/smiles/Cap_PDT_01_02.gif" alt="" />',t)
t=remblaie(t)
t=unkhol(t)
t=nl2br(t) return t }
<!-- tout le code qui suit c'est pour transformer toutes les balises, comme les preg_replace en PHP -->
function deblaie(reg,t) {
message=new String(t);
return message.replace(reg,'$1');
}
function remblaie(t) {
message=new String(t);
return message.replace(/n/g,'');
}
function remplace_tag(reg,rep,t) {
message=new String(t);
return message.replace(reg,rep);
}
function nl2br(t) {
message=new String(t);
return message.replace(/n/g,'<br/>');
}
function nl2khol(t) {
message=new String(t);
return message.replace(/n/g,ptag);
}
function unkhol(t) {
message=new String(t);
return message.replace(new RegExp(ptag,'g'),'');
}
Merci d'avance
Mise en place de smiley dans un formulaire
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.