dポイントプレゼントキャンペーン実施中!

教えて下さい。

現在、問い合わせページのような画面を作成し、その中で
"TEXTAREA"に入力されたものを最終的にはデータベースの中
へ格納しようとしています。

画面の遷移としては、a.php(入力)⇒b.php(確認)⇒c.php(更新)
というように3画面の構成で考えています。

その際に、最初の入力画面では"TEXTAREA"を使用している為、改行
等のデータも含まれてしまいます。

2画面目にはそのままPOSTで値を後れましたが、3画面目へは
<INPUT type='hidden' ~ で飛ばしています。

しかし、その際に、当初画面上から入力された改行コードでデータが
切れてしまい、最後の更新画面では切れたデータしか取得できません。

改行コードを変換する為に、str_replace 等を使用してみましたが、
それでも上手くいきません。

このような改行を含むようなデータの受け渡しはどのようにするのが
良いのでしょうか。。。

教えて下さい。

A 回答 (3件)

「PHP 改行 エスケープ」で検索されると良いです。

    • good
    • 0

受け取ったら


if(substr_count($text,"\r\n") != 0){
$text_br = str_replace("\r\n","<br>",$text);
}
一旦このようにしてから遷移しておいて
DBへUPDATEやINSERTをするときは逆の置き換えをしてあげたら
いかがでしょうか。
nl2brという関数もあるのでそちらのほうが簡単かもしれないですね^^;
hiddenで渡すときにnl2br($text)のようにしてあげればいいだけかも
しれないです。

参考URL:http://php.s3.to/man/function.nl2br.html
    • good
    • 0

セッションでやるかhiddenを使わずにtextareaの


readonlyでやってください
隠したいのであれば<div style="display:none">テキストエリア</div>
で消してください
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!