Bonjour,
Visiblement, je suis pas le seul à sécher sur mon problème, donc je post ici des fois que...
Système de commentaire, je post depuis un textarea, le saut de ligne est présent dans la bdd, mais pas à l'affichage du commentaire.
Code :
/* --- FORMULAIRE ---*/
<form method="post">
<textarea name="message_com" id="message_com" class="form-control align-right" required="required" placeholder="Veuillez entrer votre message ici..." /></textarea>
<button type="submit" class="btn btn-success btn-send">Envoyer</button>
</form>
/* --- AJOUT DATABASE --- */
$text = strip_tags($_POST['message_com']);
$text = mysqli_real_escape_string ($text);
$nouveau_commentaire = query("INSERT INTO commentaires VALUES('','" . $text . "')") or die(mysqli_error($db));
/* --- GET DATA FROM DATABASE --- */
if(is_numeric($_GET['id'])):
$commentaires = query('SELECT * FROM commentaires WHERE id_article = '.$_GET['id'].' ORDER BY date ASC');
endif;
while($donnees = mysqli_fetch_array($commentaires)):
echo nl2br(htmlentities($donnees['commentaire']));
endwhile;
Le commentaire s'ajoute bien à la table, et s'affiche comme tel :
*-------------------------*
| ID | commentaire |
*-------------------------*
| 1 | Je saute |
| | une ligne |
*-------------------------*
Et sur la page du commentaire, je vois simplement :
Je saute une ligne
J'ai essayer tout ce que j'ai pu, il n'y a qu'une chose qui à fonctionné, c'est de mettre nl2br à l'insertion du commentaire, et ne pas protéger par un strip tags ou mysqli real escape string, mais je veux pas de ça.
Merci de votre aide :/
Je remercie Inuer sur le tchat qui m'a donnée la réponse.
Le problème n'était pas du tout côté PHP, contrairement à ce que je me tuais à chercher, mais côté CSS. (Faut vraiment débile de pas y avoir pensé..)
white-space: pre-wrap;