如何在PHP中将文本区域数据存储在数据库中?

时间:2014-05-07 19:32:13

标签: php

我有一个包含三个字段的表单,其中两个是输入类型=“文本”,一个是文本区域。我无法将文本区域的数据存储在数据库中。帮助

<table>
  <form name="email" method="post">
    <tr>
      <td width="90">
        Email Id : <input name="Receiver1" type="text" size="70"/><br>
        Subject :<input name="Sub" type="text" size="70" /><br>

          <textarea cols="80" rows="30" >
          </textarea>

       Content:<input type="submit" name="Send" value="Send" />

  </form>
<?php
 require('connection.php');
 if(isset($_POST['Send']))
 {
   $Reciever = $_POST['Receiver1'];
   $Subject = $_POST['Sub'];
   $text = mysql_real_escape_string($_POST['textarea']);
   mysql_query("INSERT INTO EmailData VALUES ('$Reciever','$Subject', '$text')");
}

4 个答案:

答案 0 :(得分:1)

您必须为textarea name属性提供一个成功的表单控件。

不允许表行元素周围的表单。有些浏览器会将表格移到表格之外,并将表格控件留在后面。 使用validator

答案 1 :(得分:1)

您需要命名textarea:

<textarea cols="80" rows="30" name="textarea">
</textarea>

答案 2 :(得分:1)

命名你的textarea:)

<textarea name="textarea_name" cols="80" rows="30" >
          </textarea>

  </form>
<?php
 require('connection.php');
 if(isset($_POST['Send']))
 {
   $Reciever = $_POST['Receiver1'];
   $Subject = $_POST['Sub'];

   $text = mysql_real_escape_string($_POST['textarea_name']);
   mysql_query("INSERT INTO EmailData VALUES ('$Reciever','$Subject', '$text')");
}

答案 3 :(得分:0)

您必须像命名<textarea> s:

一样命名<input>
<textarea cols="80" rows="30" name="sometext">
</textarea>

然后,您可以将其称为$_POST['sometext']

话虽如此,请阅读SQL injection以及如何针对它进行编程。