无法以html格式保存textarea的数据

时间:2014-03-15 17:29:19

标签: php html html5 forms echo

我使用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> 

4 个答案:

答案 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>