textareaに記入→データベースに格納→ページ上に表示→間違いがあった場合textareaで編集
という流れで動作させたいのですが、最後の編集のところで躓いてしまいました。
データベースに格納する際、nl2brとhtmlspecialcharsを使って<br>も一緒にデータベースに格納していたため、編集時のtextareaで<br>が表示されてしまいます。
ネットで調べてみた所、nl2br・htmlspecialcharsを使わずデータベースに格納して、表示されるときにだけ改行させれば良いという事は分かりました。
しかし、その表示のときにだけ改行させる方法が分かりません。
幾つかのサイトで文字数で制御して改行を入れる方法などは見つけたのですが、表示させる時は最初にtextareaに記入した文章と全く同じ位置で改行を入れたいので、この方法は使えません。
もしお分かりになる方がいらっしゃいましたら、ご教授頂けないでしょうか?
※↓作成した失敗作より一部抜粋
html
1<!--最初の入力--> 2<form action="write.php" method="post"> 3<textarea name="post"> 4おはよう 5こんにちは 6こんばんは 7</textarea> 8<input type="submit" name="submit"> 9</form>
php
1//データベースへの格納 2$post = nl2br($_POST['post']); 3htmlspecialchars($post); 4$dsn = 'mysql:dbname=portfolio;host=localhost'; 5 6$user = 'root'; 7$password = ''; 8$dbh= new PDO($dsn,$user,$password); 9$dbh -> query('SET NAMES utf8'); 10 11$dbh=null; 12//「おはよう<br>こんにちは<br>こんばんは」で格納される
php
1//格納したデータを編集 2<textarea name="post" class="memo-post"><?php print $rec['post']; ?></textarea> 3//「おはよう<br>こんにちは<br>こんばんは」で表示される 4
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2019/01/12 09:52
退会済みユーザー
2019/01/12 10:00 編集
2019/01/12 11:57 編集
退会済みユーザー
2019/01/12 10:24