@Jim,这与您原来的问题中的情况相同。
(在有人指出这是一个不同的帐户之前,它是同一个人 - 长篇大论!)
当您在回发后将控件发送回浏览器时,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;
所以,对于单行文本框,你会做......
$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>';
因此,您会看到我们将控件的现有值作为您正在构建的字符串的一部分。