Nl2br

big boss -  
gryzzly Messages postés 5220 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,
voila j'ai un problème avec la fonction nl2br:
voici le code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
   <head>
       <title>Livre d'or</title>
       <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
	   <meta name="author" content="anthony" />
       <link rel="stylesheet" media="screen" type="text/css" title="Design" href="forum.css" />
   </head>
   <body>
   <?php include('include_haut.php');?>
   <div id="livreor">
   <p>Ce site vous plaie ??<br/> Alors laissez un message sur le livre d'or ! ; )</p>
   <form method="POST">
   <p>
   <label for="pseudo">pseudo</label> : <br/><input type="text" id="pseudo" name="pseudo"/><br/>
   <label for="commentaire">Commentaire</label> :<br/><textarea id="commentaire" name="commentaire" cols="40" rows="8"></textarea><br/>
   <input type="submit"/>
   </p>
   </form>
   <?php
   mysql_connect("localhost", "root", "");
   mysql_select_db("site");
   
                     // PARTIE 1: Verification du message
   if(isset($_POST['pseudo']) AND isset($_POST['commentaire']))
   {
      if($_POST['pseudo'] != NULL AND $_POST['commentaire'] != NULL)
	  {
	    $pseudo = mysql_real_escape_string(htmlspecialchars($_POST['pseudo']));
		$commentaire = nl2br($_POST['commentaire']);
		$commentaire = mysql_real_escape_string(htmlspecialchars($commentaire));
		$timestamp = time(); // On stocke le timestamp dans une variable
		mysql_query("INSERT INTO livreor VALUES ('', '" . $pseudo . "', '" . $commentaire . "', '" . $timestamp . "')") OR DIE (mysql_error()); // On insere les message dans la B.D.D
	   }
	}
	                  // PARTIE 2: Nombre de page
	$nbreMessagePages = 20;
	$retour = mysql_query('SELECT COUNT(*) AS nbre_messages FROM livreor') OR DIE (mysql_error()); // On compte les entrer dans la B.D.D
	$donnees = mysql_fetch_array($retour);// On les arrange dans un tableau
	$totalMessages = $donnees['nbre_messages']; // On stocke les nbre d'entrer organiser dans une varaibles
	$nbrePages = ceil($totalMessages / $nbreMessagePages) ;
	
	echo'il y a ' . $totalMessages . ' message dans le livre d\'or<br/>';
	
	echo 'page :' ;
	for($i = 1; $i <= $nbrePages; $i++)
	{
	  echo '<a href="livre_dor.php?page=' . $i . '">' . $i . '</a> ' ;
	  }
	
	                  // PARTIE 3: Afficher les messages
	if(isset($_GET['page']))
	{
	  $page = intval($_GET['page']);
	  }
	else
	 {
	   $page = 1;
	   }
	$PremierMessageAafficher = ($page - 1) * $nbreMessagePages;
	$message = mysql_query('SELECT * FROM livreor ORDER BY ID DESC LIMIT ' .$PremierMessageAafficher . ', ' . $nbreMessagePages);
	while($donnees = mysql_fetch_array($message))
	{
	 echo '<p class="commentaire"><strong>' . $donnees['pseudo'] . '</strong> :<span> ' . date('d/m/Y \à H:i:s', $donnees['timestamp']) . '</span><br/>' . $donnees['commentaire'] . '</p>';
	 }
	 mysql_close();
	?>
   </form>
   </div>
   </body>
   </html>

le problème est que a chaque fois que j'essaye de poster un message quand je vais a la ligne il mette un <br/> à la place d'aller à la ligne

3 réponses

gryzzly Messages postés 5220 Date d'inscription   Statut Contributeur Dernière intervention   1 336
 
le problème est que a chaque fois que j'essaye de poster un message quand je vais a la ligne il mette un <br/> à la place d'aller à la ligne

Ca tombe bien, c'est le rôle de cette fonction ...

string nl2br( string $string [, bool $is_xhtml= true ] )
Retourne string après avoir inséré "<br />" ou '<br>' devant toutes les nouvelles lignes.


The <br> tag inserts a single line break. = le tag <br> permet un retour à la ligne ...
0
big boss
 
on faite j'ai trouver la solution a mon problème je la met pour tout ceux qui aurait le même problème que moi
il faut mettre nl2br a l'affichage
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
   <head>
       <title>Livre d'or</title>
       <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
	   <meta name="author" content="anthony" />
       <link rel="stylesheet" media="screen" type="text/css" title="Design" href="forum.css" />
   </head>
   <body>
   <?php include('include_haut.php');?>
   <div id="livreor">
   <p>Ce site vous plaie ??<br/> Alors laissez un message sur le livre d'or ! ; )</p>
   <form method="POST">
   <p>
   <label for="pseudo">pseudo</label> : <br/><input type="text" id="pseudo" name="pseudo"/><br/>
   <label for="commentaire">Commentaire</label> :<br/><textarea id="commentaire" name="commentaire" cols="40" rows="8"></textarea><br/>
   <input type="submit"/>
   </p>
   </form>
   <?php
   mysql_connect("localhost", "root", "");
   mysql_select_db("site");
   
                     // PARTIE 1: Verification du message
   if(isset($_POST['pseudo']) AND isset($_POST['commentaire']))
   {
      if($_POST['pseudo'] != NULL AND $_POST['commentaire'] != NULL)
	  {
	    $pseudo = mysql_real_escape_string(htmlspecialchars($_POST['pseudo']));
		$commentaire = mysql_real_escape_string(htmlspecialchars($_POST['commentaire']));
		$timestamp = time(); // On stocke le timestamp dans une variable
		mysql_query("INSERT INTO livreor VALUES ('', '" . $pseudo . "', '" . $commentaire . "', '" . $timestamp . "')") OR DIE (mysql_error()); // On insere les message dans la B.D.D
	   }
	}
	                  // PARTIE 2: Nombre de page
	$nbreMessagePages = 20;
	$retour = mysql_query('SELECT COUNT(*) AS nbre_messages FROM livreor') OR DIE (mysql_error()); // On compte les entrer dans la B.D.D
	$donnees = mysql_fetch_array($retour);// On les arrange dans un tableau
	$totalMessages = $donnees['nbre_messages']; // On stocke les nbre d'entrer organiser dans une varaibles
	$nbrePages = ceil($totalMessages / $nbreMessagePages) ;
	
	echo'il y a ' . $totalMessages . ' message dans le livre d\'or<br/>';
	
	echo 'page :' ;
	for($i = 1; $i <= $nbrePages; $i++)
	{
	  echo '<a href="livre_dor.php?page=' . $i . '">' . $i . '</a> ' ;
	  }
	
	                  // PARTIE 3: Afficher les messages
	if(isset($_GET['page']))
	{
	  $page = intval($_GET['page']);
	  }
	else
	 {
	   $page = 1;
	   }
	$PremierMessageAafficher = ($page - 1) * $nbreMessagePages;
	$message = mysql_query('SELECT * FROM livreor ORDER BY ID DESC LIMIT ' .$PremierMessageAafficher . ', ' . $nbreMessagePages);
	while($donnees = mysql_fetch_array($message))
	{
	 echo '<p class="commentaire"><strong>' . $donnees['pseudo'] . '</strong> :<span> ' . date('d/m/Y \à H:i:s', $donnees['timestamp']) . '</span><br/>' . nl2br($donnees['commentaire']). '</p>';
	 }
	 mysql_close();
	?>
   </form>
   </div>
   </body>
   </html>

mais avant de resoudre ce topic je voudrais savoir gryzzly a quoi sert la fonction string je ne la connais pas si tu peut me l'expliquer
0
gryzzly Messages postés 5220 Date d'inscription   Statut Contributeur Dernière intervention   1 336
 
string n'est pas une fonction. c'est un type de données, en l'occurence, c'est une chaine de caractères :
https://www.php.net/manual/fr/book.strings.php

De la même façon, ut peux avoir des données sous forme de tableaux (array()), des booléens (vrai faux)....
0