php mysql, le stockage des sauts de ligne dans la zone de texte dans la base de données
J'ai un input textarea et je voudrais stocker les sauts de ligne par un utilisateur dans la zone de texte dans la base de données, de sorte qu'elle fait écho à la sortie de texte de la même manière que dans le texte d'entrée
par exemple:
Some text some text some text some text
new line some text some text new line
new line some text new line some text
c'est mon script d'upload:
$sql = "insert into people (price, contact, category, username, fname, lname, expire, filename) values (:price, :contact, :category, :user_id, :fname, :lname, now() + INTERVAL 1 MONTH, :imagename)";
$q = $conn->prepare($sql) or die("failed!");
$q->bindParam(':price', $price, PDO::PARAM_STR);
$q->bindParam(':contact', $contact, PDO::PARAM_STR);
$q->bindParam(':category', $category, PDO::PARAM_STR);
$q->bindParam(':user_id', $user_id, PDO::PARAM_STR);
$q->bindParam(':fname', $fname, PDO::PARAM_STR);
$q->bindParam(':lname', $lname, PDO::PARAM_STR);
$q->bindParam(':imagename', $imagename, PDO::PARAM_STR);
$q->execute();
Comme par Micah commentaire, essayez d'ajouter
merci pour votre réponse, disons que si c'était le lname de sortie que je voulais conserver les sauts de ligne, comment j'allais faire et où je le place
nl2br
à votre sortie, c'est à dire nl2br($imagename);
.merci pour votre réponse, disons que si c'était le lname de sortie que je voulais conserver les sauts de ligne, comment j'allais faire et où je le place
OriginalL'auteur neeko | 2012-10-04
Vous devez vous connecter pour publier un commentaire.
Les sauts de ligne dans la zone de texte sont les caractères de saut de ligne comme
\n
. Ce ne sont pas rendus dans le HTML et ainsi, ils ne s'affichent pas si vous avez simplement l'écho de la sortie. Vous pouvez écho à l'intérieur d'un<textarea>
ou un<pre>
tag ou vous pouvez utiliser lenl2br()
pour remplacer les nouvelles lignes avec<br>
balises de sorte qu'elle peut être affichée au format HTML.Qui serait dans le PHP affiche la sortie. C'est, de la mais les sauts de ligne sont stockées dans la base de données, mais l'affichage de ces données doit être analysée avant de les afficher au format HTML.
echo nl2br($data);
merci, j'ai essayé, mais elle a littéralement dire nl2br(texte); quand je l'echo
echo "<div id='expanderContent' style='display:none" ><div class='reasonbar" ><div class= "prod-title1" >". nl2br($lname); ."</div><div class='reason1' style='width: 29%;" >Contact:<br /> ". $row['contact'] . "</div></div>";
Désolé, supprimez le point-virgule après
nl2br($lname)
OriginalL'auteur Micah Carrick
Vous pouvez échapper à la les sauts de ligne avant de le ranger en utilisant
mysql_real_escape_string
Documentation ici: http://php.net/manual/en/function.mysql-real-escape-string.php
OriginalL'auteur martinwnet
vous pouvez également utiliser javascript pour diviser le texte en tant que
\n to <br>
en utilisant remplacerOriginalL'auteur Champ
J'ai eu le même problème, et cela fonctionne maintenant :
OriginalL'auteur Melwin Kieffer