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 :/

1 réponse


Genki
Auteur
Réponse acceptée

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;