@ジム、これは元の質問と同じ状況です。
(誰かが別のアカウントだと指摘する前に、それは実在の同一人物です - 長い話です!)
ポストバック後にコントロールをブラウザに送り返すと、PHP はコントロールの「状態」を保持しません。
そのため、毎回次のメッセージを送り返す代わりに...
<input type="text" id="mytext" name="mytext">
コントロールの一部として最初に入力されたものを送り返す必要があります...
<input type="text" id="mytext" name="mytext"
value="<?php echo $_POST['mytext']; ?>>
チェックボックスとラジオ(最初の質問でした)では、次のようなものが必要です...
<input type="checkbox" id="mycheck" name="mycheck"
value="<?php echo (isset($_POST['mycheck']) ? "checked" : ""); ?>>
<textarea>
そして、あなたがコントロールについて話しているとき、あなたは次のようなことをするでしょう...
<textarea id="mytext" name="mytext"><?php echo $_POST['mytext']; ?></textarea>
アップデート
HTML を$echo
string 変数に組み込む場合 (HTML を直接マークアップするのではなく)、上記のコードを string の一部として含める必要があります。
文字列の構築中echo
にコマンドを実行すると、編集中のものがすぐに画面に送信されます。次に、コマンドを介しての内容を送信すると、他のすべてが取得されます。echo
$echo
echo $echo;
したがって、1行のテキストボックスの場合は...
$echo = '<input type="text" id="mytext" name="mytext" value="'. $_POST['mytext'] .'">';
チェックボックスの場合は...
$echo = '<input type="checkbox" id="mycheck" name="mycheck" '. (isset($_POST['mycheck']) ? "checked" : "") .'>';
複数行のテキストボックスの場合は....
$echo = '<textarea id="mytext" name="mytext">'. $_POST['mytext'] . '</textarea>';
作成している文字列の一部として、コントロールの既存の値を含めていることがわかります。