Bonjour,
Cela fait donc des heures que je cherche la solution dans les tutoriels et les forum.
Donc quand je saisis du texte avec un retour chariot dans un textarea, la mise en forme dans la table est correcte mais pas quand le texte s'affiche de nouveau dans le textarea.

-dans la table :
Bonjour,
C'est vraiment pénible ces retours chariots.

-dans mon textarea :
Bonjour,C'est vraiment pénible ces retours chariots.

mon code :
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
 
if (isset($_POST['textemessage']))	$textemessage = $_POST['textemessage'];
else $textemessage = "";
 
if (isset($_POST['enregistrer'])){
	if ((empty($_POST['nom'])) OR (empty($_POST['prenom'])) OR (empty($_POST['mail'])) OR (empty($_POST['objet'])) OR (empty($_POST['textemessage']))){
		$message = "Merci de renseigner tous les champs.";
	}
	else if (empty($message)){
		//teste si le même message est déjà dans la table
		$textemessage = mysqli_real_escape_string($con,$_POST['textemessage']);
		$requete = "SELECT * FROM messages WHERE date = '$my_date' AND emetteur = '$mail' AND texte = '$textemessage'";
		$resultat = $mysqli->query($requete) or die ('Erreur '.$requete.' '.$mysqli->error());
		if (mysqli_num_rows($resultat) > 0){
			$message = "Ce message est déjà enregistré !";
		}
		else {
		 	$objet = mysqli_real_escape_string($con,$_POST['objet']);
		 	$nom = mysqli_real_escape_string($con,$_POST['nom']);
		 	$prenom = mysqli_real_escape_string($con,$_POST['prenom']);
		 	$emetteur = mysqli_real_escape_string($con,$_POST['mail']);
		 	$textemessage = mysqli_real_escape_string($con,$_POST['textemessage']);
			//preparation de la requete
			$requete = "INSERT INTO messages (id_message, date, heure, nom, prenom, emetteur, objet, texte)
			VALUES('','$my_date','$my_time','$nom','$prenom','$emetteur','$objet','$textemessage')";
			if (mysqli_query($con, $requete)) {
    				$message1 = "Merci pour votre message, nous vous répondrons dans les meilleurs délais";
			} else {
    				$message = "Message non enregistré. Merci de vérifier votre saisie";
			}
			mysqli_close($con);
 
		}
	}
}
 
<textarea name="textemessage" rows="15" style="width:440px; font-size:13px"><?php $textemessage=str_replace('\r\n','',$textemessage);  echo stripslashes(nl2br(htmlentities($textemessage))); ?></textarea><br>
Dans le str_replace j'avais tenté str_replace('\r\n','<br>',$textemessage) mais <br> apparaît en clair !!
Merci d'avance