※ ChatGPTを利用し、要約された質問です(原文:テキストの受け渡しの不具合)
テキストの受け渡しで発生するデータ表示の不具合と回避策
このQ&Aのポイント
HTMLからCGIへのデータ受け渡しにおいて、特定の箇所で改行が正しく表示されない現象が発生しています。
データ受け渡しに関わるコードを修正し、改行表示の問題を回避する方法をご教示ください。
データ受け渡しの際に改行コードが正しく扱われない場合、表示されるデータが意図しない形で表示される問題があります。回避策をお教えください。
1.html → 2.cgi へフォームを使ってデータの受け渡し。
例)
1.htmlのテキストエリアに
あ
い
う
え
お
と入力をし、2.cgiを実行すると、
あ
い
う
え
お
ときちんと表示されます。
($FORM{'hoge'}と指定。)
この2.cgiから1.htmlで入力されたデータに修正を加える場合に「入力しなおす」というボタンを加えました。
(3.cgi)
そのために、2.cgiのデータを3.cgiに渡す必要があるため、
$FORM{'hoge'}
↓
$FORM{'hoge'}<INPUT TYPE=HIDDEN NAME=hoge VALUE=$FORM{'hoge'}></INPUT>
と変更しました。
すると、2.cgiで表示されるデータが、
あ
い
う
え
おい
う
え
お>
となってしまうのです。
他の項目は平気なのですが、改行がされる箇所(TEXTAREA)にこの現象が起こっています。
回避策を教えてください。
お礼
回答ありがとうございます。 ""で囲むことで二重に表示されるのは解決いたしました。 ありがとうございます。 また別なのですが、 if ($hoge eq ''){ $hoge = "<BR>\n"; } else{ $hoge = $hoge; } $hogeが空欄だったら<BR>を、そうでなかったら$hogeの内容を入れる、ということをさせようと思っているのですが、 <BR>は入ってるようなのですが、なぜか一緒に>が入ってしまいます。 (文字を入れた場合はでません。) >は一体どこからあらわれたのでしょうか?