Précédent   Forum des professionnels en informatique > PHP > Langage > Formulaires
Formulaires Forum d'entraide sur les formulaires avec PHP. Avant de poster -> FAQ formulaires, Cours de formulaires et Sources de formulaires
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 13/08/2008, 12h03   #1
Invité de passage
 
Inscription : août 2008
Messages : 2
Détails du profil
Informations forums :
Inscription : août 2008
Messages : 2
Points : 0
Points : 0
Par défaut Affichage des sauts de ligne au retour de la base de données

à tous

Je viens poster un message car j'ai de gros soucis pour afficher un texte que j'ai soumis par formulaire sur une base de données.

Le texte est bien soumis et présent sur le base de données mais voilà, quand je veux faire afficher ce texte, impossible de sauter des lignes.

J'ai essayé pas mal de méthodes et notement nl2br() mais rien de concluant.

Quelqu'un a t'il déjà rencontré cette erreur ?

Voici mon code d'envoi :

Code :
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
 
<?php include('include/header.php');?>
<div id="conteneur">
<table>
<tr>
<td valign="top">
<div id="contenu">
<h2><u>Poster un article qui apparaîtra sur votre site dans la rubrique Blog</u></h2>
<span class="label_form">
<form action="blog_write_traite.php" method="post">
Titre de l'article :<br/>
<input name="titre" type="text" size="80" value=""/>
<br/>
Contenu de l'article :<br/>
<?php
$oFCKeditor = new FCKeditor('texte') ;
$oFCKeditor->BasePath = 'fckeditor/' ;
$oFCKeditor->Value = '<p></p>' ;
$oFCKeditor->Create() ;
?>
<br/>
<br/>
<input name="envoyer l'article" type="submit" value="Envoyez l'article" />
</form></span>
</div></td>
<td width="20"></td>
<td valign="top" class="texte">
<?php
echo'<div id="liste_articles">';
echo'<h2><u>Liste de vos articles</u></h2>';
echo'(Cliquez sur un article pour en voir le contenu)';
 $sql="SELECT titre, id FROM blog LIMIT 10";
$stmt=$dbh->prepare($sql);
$stmt->execute(array(':titre'));
echo'<pre>';
while($row=$stmt->fetch()){
echo '<a href="blog_write.php?id='.$row['id'].'">'.$row['titre'].'</a> | <a href="#">Modifier</a> | <a href="#">Supprimer</a>';
echo'<br/>';
}
?>
<p></p>
<table width="300" border="0" align="left" cellpadding="0" cellspacing="0">
  <tr>
    <td><?php 
$article=$_GET['id'];
 
$sql="SELECT titre, texte FROM blog WHERE id=$article";
$stmt=$dbh->prepare($sql);
$stmt->execute(array(':titre', ':texte'));
if ($article){
while($row=$stmt->fetch()){
echo '<div id="montre_titre"><h2><u>'.$row['titre'].'</u></h2></div>';
echo '<div id="montre_texte">'.nl2br($row['texte']).'</div>';
}}
 
?></td>
  </tr>
</table>
</td>
</tr>
</table>
</div>
<br/>
<?php include('include/footer.php');?>
</body>
</html>
Mon code de réception :

Code :
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
<?php include('include/header.php');?>
<table>
<tr>
<td>
<div id="contenu">
Dans cette section, vous pouvez poster un article qui apparaîtra sur votre site dans la rubrique Blog.<br/>
N'oubliez pas, plus vous posterez d'articles, plus votre référencement s'en verra amélioré.<br/>
<br/>
<!--Début requête d'insertion d'article sur la base de données -->
<?php
 
 
$titre=addslashes($_POST['titre']);
$texte=addslashes($_POST['texte']);
 
 
if (empty($_POST['titre']) OR empty($_POST['texte'])){
 
echo'
 
<span class="label_form"><form action="blog_write_traite.php" method="post">
Titre de l\'article :<br/>
<input name="titre" type="text" size="80" value="';?><?php echo $titre;?><?php echo'"/>
<br/>
Contenu de l\'article :<br/>
<textarea name="texte" cols="60" rows="10">'?><?php echo $texte;?><?php echo'</textarea><br/>
<input name="envoyer l\'article" type="submit" value="Envoyez l\'article" />
</form></span>';
echo'<span class="erreur"><img src="images/no.png" /> Vous avez oublié de remplir le Titre ou le Contenu de l\'article...</span><br/>';
?>
<?php
}
else
{
echo'<span class="label_form"><form action="blog_write_traite.php" method="post">
Titre de l\'article :<br/>
<input name="titre" type="text" size="80" value=""/>
<br/>
Contenu de l\'article :<br/>
<textarea name="texte" cols="60" rows="10"></textarea><br/>
<input name="envoyer l\'article" type="submit" value="Envoyez l\'article" />
</form></span>';
// définition du gestionnaire d'erreur en mode "exception"
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
// Démarre une transaction, désactivation de l'auto-commit
$dbh->beginTransaction();
 
try{
// ajout du premier enregistrement, le titre et le texte
$sql="INSERT INTO blog (titre, texte)
VALUES ('$titre', '$texte')";
$dbh->exec($sql);
echo'<span class="ok"><img src="images/ok.png" /> Votre article est maintenant présent sur la base de données...</span>';
 
$dbh->commit();
} catch (Exception $e){
// si erreur, annulation des modifications
$dbh->rollBack();
echo"Echec : ". $e->getMessage();
}
 
};
?>
<!-- Fin requête d'insertion d'article sur la base de données -->
</div>
</td>
<td width="20"></td>
 
<td valign="top"><div id="liste_articles">
<h2><u>Liste de vos articles</u></h2>
<a href="blog_write.php">Retour à la liste des articles</a>
</div>
</td>
</tr>
</table>
<br/>
<?php include('include/footer.php');?>
</body>
</html>
Merci d'avance...
spotweb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/08/2008, 13h59   #2
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 383
Points : 16 383
C'rest pourtant bien nl2br qui convient.

Que vaux-tu ton champ texte une fois dans la base ?
Puisque tu utilises PDO, fais des requetes préparés plutot que d'ajouter des \.
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 05h06.


 
 
 
 
Partenaires

Hébergement Web