假设我有一个这样的表单:
<form action="page.php" method="post">
Section1: <input name="section1" type="text"></br>
Section2: <input name="section2" type="text"></br>
Text:</br>
<textarea name="post_text" cols="100" rows="20"></textarea>
<input name="submit" type="submit" value="Submit">
</form>
通常,如果我想保存插入到表单字段中的内容,我会使用下面的语句:
Section1: <input name="section1" type="text" vale="value="<?php echo $_POST['section1']; ?>""></br>
这样,如果我在提交时犯了错误(没有发布错误控制代码),插入的值将被保留,并且不需要重新插入它们。
然而,在textarea标签中使用它不会产生期望的结果。
有什么好主意吗?
提前感谢!
不要忘记htmlspecialchars()。这应该有帮助:https://developer.mozilla.org/en/HTML/Element/textarea
<textarea name="post_text" cols="100" rows="20"><?php echo htmlspecialchars($_POST['post_text']);?></textarea>
您可以使用相同的方法,但将echo
放在开始和结束<textarea></textarea>
标记之间,因为textarea
没有'值'(这样)它有文本内容:
<textarea name="post_text" cols="100" rows="20"><?php echo $_POST['textareaContent']; ?></textarea>
像这样使用$_POST
变量
<textarea name="post_text" cols="100" rows="20"><?= isset($_POST['post_text'])?$_POST['post_text']:'' ?></textarea>
内联条件检查$_POST['post_text']
是否设置为删除NOTICE警告
您可以像这样将其放入<textarea>
元素中:
<textarea name="post_text" cols="100" rows="20"><?php echo $_POST['post_text']; ?></textarea>
但是,直接调用$_POST元素并不是最佳实践。你应该这样做:
<textarea name="post_text" cols="100" rows="20">
<?php echo $var = isset($_POST['post_text']) ? $_POST['post_text'] : ''; ?>
</textarea>
这可以防止在第一次加载页面时报告E_NOTICE错误。