[PHP-users 10707] Re: テキストボックスにデータが反映されない

Naofumi Kondoh php-users@php.gr.jp
Wed, 09 Oct 2002 18:12:39 +0900


ソフト工房の近藤です。

# スレッドが乱れるので、新しい話題を、他の話題(スレッド)
# への返信で出すのは止めましょう。

KiyohitoTanaka wrote:
> いつもお世話になっております。(^^ゞ
> 田中@MCと申します。
> *-------------------------------------
> 入力フォームがあり、テキストボックスを配置して
> います。
> 
> 新規入力時にはもちろん空白なのですが、編集時に
> 以前入力されたデータを表示させようとしているの
> ですが、正常に表示されずに困っています。
> <input type=text name=T1 size=60 value='$T1'>
> ($T1は以前入力されたデータ)というようにです。
....略....

こういう質問は再現可能な短いプログラムにしてくれた方が
フォローしやすいです。

多分、クォートの問題だと思います。

htmlspecialchars() 関数で、文字実体参照( Character
entity reference )に変換してから、VALUE 句に入れる
ようにするといいでしょう。

例:

<?php
$T1 = "What's NEW. "
      . " : SINGLEQUOTE=( ' ) "
      . ' : DoubleQuote=( " ) : 両方のクォート付き';

echo "
  <input type=text name=T1 size=100
        value=\"".htmlspecialchars($T1)."\">
";
?>

私なら、入力チェックで、表示用変数に変換代入しておいて
heredocument を使います。

$DSP_T1 = htmlspecialchars($T1);

echo <<< EOD____EOD
<input type=text name=T1 size=100 value="{$DSP_T1}">
EOD____EOD;



_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
 (株)ソフト工房   近藤直文        Email:  nkon@shonan.ne.jp
http://www.SOFTKOUBOU.co.jp/      http://www.shonan.ne.jp/~nkon/
2002-10-24(木)19:00-21:30 第7回 JPUG 業務アプリ分科会 勉強会
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/