我有一个有三个字段的表单,两个是输入类型="text",一个是文本区域。我不能在数据库中存储文本区域的数据。帮助
<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')");
}
您必须给textarea
一个name
属性,使其成为一个成功的表单控件。
不允许在表行元素周围使用表单。有些浏览器会将表单移到表外,而将表单控件留在后面。使用验证器
您需要为textarea命名:
<textarea cols="80" rows="30" name="textarea">
</textarea>
name your 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')");
}
你必须给你的<textarea>
命名就像你给<input>
命名一样:
<textarea cols="80" rows="30" name="sometext">
</textarea>
您可以将其称为$_POST['sometext']
。
话虽如此,请仔细阅读SQL注入以及如何针对它进行编程。