• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:テキストの受け渡しの不具合)

テキストの受け渡しで発生するデータ表示の不具合と回避策

このQ&Aのポイント
  • HTMLからCGIへのデータ受け渡しにおいて、特定の箇所で改行が正しく表示されない現象が発生しています。
  • データ受け渡しに関わるコードを修正し、改行表示の問題を回避する方法をご教示ください。
  • データ受け渡しの際に改行コードが正しく扱われない場合、表示されるデータが意図しない形で表示される問題があります。回避策をお教えください。

質問者が選んだベストアンサー

  • ベストアンサー
  • panda0000
  • ベストアンサー率35% (59/165)
回答No.1

$FORM{'hoge'}<INPUT TYPE=HIDDEN NAME=hoge VALUE=$FORM{'hoge'}></INPUT> のところですが、 出力したHTMLのソースを見ると、多分以下のようになっていると思います。 改行などの細かい位置は分かりませんが。 ***** あ い う え お<INPUT TYPE=HIDDEN NAME=hoge VALUE=あ い う え お></INPUT> ***** タグ内でこのような改行は認められないので、改行(\r,\n,\r\n)を一時的になにかに置き換えた方がよいかもしれません。 また、 <INPUT TYPE=HIDDEN NAME=hoge VALUE="$FORM{'hoge'}"> のように、ダブルクォーテーションで括ると直る気がします。 (print ""を使ってる場合は、エスケープして\"\"で括ってください) 基本的に文字列はダブルクォーテーションで括ることになっています。 あと、HTMLについてですが、INPUTに閉じタグは必要ありませんよ。 もう少し詳しい状況説明があると、よい回答が得られると思います。 (ソースをもう少し載せるなど)

KODAMAR
質問者

お礼

回答ありがとうございます。 ""で囲むことで二重に表示されるのは解決いたしました。 ありがとうございます。 また別なのですが、 if ($hoge eq ''){ $hoge = "<BR>\n"; } else{ $hoge = $hoge; } $hogeが空欄だったら<BR>を、そうでなかったら$hogeの内容を入れる、ということをさせようと思っているのですが、 <BR>は入ってるようなのですが、なぜか一緒に>が入ってしまいます。 (文字を入れた場合はでません。) >は一体どこからあらわれたのでしょうか?

関連するQ&A