У меня есть простая контактная форма на веб-сайте, которая имеет 2 текстовых поля, 1 текстовое поле и 1 скрытое поле.
По какой-то причине все поля POST в сценарии PHP, кроме текстового поля.Я делал это тысячу раз и никогда не сталкивался с этой проблемой.
Вот мой HTML:
<form action="scripts/contactform.php" method="post">
<table width="0" border="0" cellspacing="3" cellpadding="5" class="gpass">
<tr>
<td>Name:</td>
<td><input name="name" type="text" maxlength="50" /></td>
</tr>
<tr>
<td>E-mail:</td>
<td><input name="email" type="text"/></td>
</tr>
<tr>
<td>Message:</td>
<td><textarea name="comment" id="comment" cols="30" rows="5"></textarea>
<input type="hidden" value=" <?php echo $_SERVER['REMOTE_ADDR'];?>" name="address" />
</td>
</tr>
<tr>
<td colspan="2" align="center"><input name="submit" type="submit" value="Submit" class="noround" id="regbut" /><input name="reset" type="reset" value="Reset" class="noround" id="regbut"/></td>
</tr>
</table>
</form>
И мой скрипт выглядит так:
$link = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD);
if(!$link)
{
die('Failed to connect to server: ' . mysql_error());
}
$db = mysql_select_db(DB_DATABASE);
if(!$db)
{
die("Unable to select database");
}
$name = mysql_real_escape_string($_POST['name']);
$email = mysql_real_escape_string($_POST['email']);
$comment = mysql_real_escape_string($_POST['comment']);
$ipaddress = mysql_real_escape_string($_POST['address']);
У меня есть несколько вещей для обработки данных под этим, но этоне имеет значения, поскольку переменная $comment
не определена.Я искал весь сценарий, и нет конфликтующих имен переменных.
Я полностью озадачен, почему это происходит.Я успешно обрабатывал textarea
на моем сайте несколько раз, поэтому это действительно сбивает с толку.