Nl2br

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
Configuration: Windows Vista
Firefox 2.0.0.20

3 réponses

  1. Contributeur
    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 ...
    1. 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