- ベストアンサー
textarea , PHP, 確認画面 改行
メールフォームを作っているのですが、textareaで入力した内容が、確認画面でそのまま表示されません。textarea内で改行しても、そのまま確認画面でも改行して欲しいのですが、どうすればいいのでしょうか?自分はHTMLでフォームをつくりPHPは依頼したのですが、まったく真面目にやってくれずものすごく困ってます…。なので自分で何とかしているのですが..関係あるかわかりませんが、内容はすべて英語です。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
<?php echo nl2br($data);?> $dataがテキストエリアの名前とします。 これで改行表示されます。
その他の回答 (1)
- yambejp
- ベストアンサー率51% (3827/7415)
回答No.1
たぶん改行されているとおもいますよ・・・ 確認画面ってどういうものですか? きちんと確認画面でもtextareaにデータを入れていますか? 適当なdivに入れていれば、改行は単なる半角スペースに 見えると思いますけど、実際には改行です。 (ブラウザでソースを確認すればおそらく改行されてみわると思います) 見た目を改行つきにしたいなら<br>などに変換する必要があります。 ただ確認画面でかってに<br>をつけたら、こんどは登録される データが元のデータではなくなります。 おそらくそのアタリの仕様をきちんと説明せずに外注にだした 質問者さん理解不足かミスでしょう。
質問者
補足
そうですね。今回初めて外注したので、いい勉強にはなりました。
お礼
回答ありがとうございます。昨日、自分でそれをやってみたら、うまくできました。あとマジッククォートの問題が残ってますが、あるサイト(http://nyx.pu1.net/practice/form/form4.php)をみつけて、それをプログラマーに教えときました。彼がなぜこの関数を使わなかったのが良くわかりませんが。確認画面で表示されるために関数を<pre></pre>内に入れたプログラムでした。これだとtexarea内にいれた文字が、枠内をはみ出して永遠に右に表示されてしまいます。