素人ですがどなたか教えて下さい。

フォーム(TEXTAREA)を入力し、確認ボタンを押すと確認画面に行き、戻るボタンを押すと
元の入力画面に戻るようにしています。入力画面に戻ったとき、直前に入力した内容を表示
させたいので、最初は<INPUT type='button' value=' 戻る ' onclick='history.back()'>
で戻らせていました。しかし、その後セッション管理を追加したところ、入力内容が保持さ
れなくなってしまいました。
そこで素人ながら色々考えて、hiddenでTEXTAREAの内容を受け渡してみたのですが、入力内容
に改行があると画面がおかしくなります。(戻るボタンや改行以降の内容がずれて表示されます。)
しかも、受け渡された内容は改行よりも前の文字しか入っていません。


■確認画面
$textdata = htmlspecialchars(stripcslashes($textdata));
$body .= "<FORM action='$PHP_SELF' method='POST' enctype='multipart/form-data'>
<INPUT type='submit' onSubmit='FldChk()' value=' 戻る '>
<INPUT type='hidden' name='textdata' value=$textdata>
</FORM>";

入力内容に改行が入っていると、これを表示した時点で戻るボタンの横に改行
された内容が表示されたりします。


■入力画面(戻ったとき)
$textdata = htmlspecialchars(stripcslashes($textdata));
$body .= "<TEXTAREA COLS=82 ROWS=15 NAME=textdata>$textdata</TEXTAREA>";
$textdataには、改行より前の文字のみ入っています。

入力→確認画面→戻る という画面構成はよくあると思うのですが、一般的には
どのように制御しているのでしょうか?hiddenとか使わなくても良い方法がある
のでしょうか?よろしくお願い致します。