假设我有一个这样的表格:
<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标签中使用它不会产生所需的结果。
关于如何做的任何想法?
提前致谢!
答案 0 :(得分:6)
不要忘记htmlspecialchars()。这应该有所帮助:https://developer.mozilla.org/en/HTML/Element/textarea
<textarea name="post_text" cols="100" rows="20"><?php echo htmlspecialchars($_POST['post_text']);?></textarea>
答案 1 :(得分:5)
您可以使用相同的方法,但将echo
放在开始和结束<textarea></textarea>
标记之间,因为textarea
没有'值'(因此)它有文字内容:
<textarea name="post_text" cols="100" rows="20"><?php echo $_POST['textareaContent']; ?></textarea>
答案 2 :(得分:0)
像这样使用$_POST
变量。
<textarea name="post_text" cols="100" rows="20"><?= isset($_POST['post_text'])?$_POST['post_text']:'' ?></textarea>
内联条件检查$_POST['post_text']
是否设置为删除NOTICE警告
答案 3 :(得分:0)
你会把它放在<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错误。