Nl2br
big boss
-
gryzzly Messages postés 5220 Date d'inscription Statut Contributeur Dernière intervention -
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:
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
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
-
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 ... -
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 -
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)....