我使用php从html5表单获取数据,我正在尝试保留字段的数据而不是清除。
它适用于输入,但对于textarea(描述字段)失败。
你可以在下面看到我在输入中添加一个php echo作为值,但它不适用于textarea。 我怎样才能为textarea做这项工作?
HTML表单:
<form method='post' action='entry.php' enctype="multipart/form-data">
<label for="username"> Username: </label>
<input type="text" name="username" id="username" value="<?php echo $username; ?>" /></br>
</br>
<label for="email">Email:</label>
<input type="email" name="email" value="<?php echo $email; ?>"/> </br></br>
<label>Title of monument:</label>
<input type="textbox" name="title" value="<?php echo $title; ?>" /></br></br>
<label>Description of monument:</label>
<textarea cols="50" rows="6" name="description" value="<?php echo $description; ?>" /></textarea></br></br>
<label>Select image:</label>
<input type="file" name="file" ></br></br>
<input type="submit" value="Submit" name="submit" >
</form>
答案 0 :(得分:3)
替换
textarea cols="50" rows="6" name="description" value="<?php echo $description; ?>" ></textarea>
与
<textarea cols="50" rows="6" name="description" ><?php echo $description; ?></textarea>
我在textarea元素中添加了php echo,并将其从textarea值属性中删除。 它应该做的工作。
答案 1 :(得分:1)
Textareas没有价值财产。
相反,您应该将值直接放在<textarea>
和</textarea>
标记之间。
像这样:
<textarea cols="50" rows="6" name="description"><?php
echo htmlspecialchars($description);
?></textarea>
如果$description
中的值包含其他htmlspecialchars()
左右的HTML标记,则还需要将$description
传递给<textareas>
。
答案 2 :(得分:1)
textarea元素的值由其中的文本节点决定,而不是由value属性决定。
<textarea cols="50" rows="6" name="description"><?php
echo htmlspecialchars($description);
?></textarea>
答案 3 :(得分:0)
您已关闭textarea标记:
<textarea cols="50" rows="6" name="description" />
需要删除结束斜杠,因此您的php将被插入textarea!
<textarea cols="50" rows="6" name="description" > <?php ... ?> </textarea>