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

3 réponses

  1. gryzzly Messages postés 5220 Date d'inscription   Statut Contributeur Dernière intervention   1 340
     
    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
  2. 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
  3. gryzzly Messages postés 5220 Date d'inscription   Statut Contributeur Dernière intervention   1 340
     
    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