Проблема с использованием $ _POST с текстовой областью - PullRequest
3 голосов
/ 04 января 2012

У меня есть простая контактная форма на веб-сайте, которая имеет 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 на моем сайте несколько раз, поэтому это действительно сбивает с толку.

Ответы [ 3 ]

5 голосов
/ 04 января 2012

Однажды я столкнулся с ошибкой, похожей на вашу.Что мне помогло, так это использование разных параметров id и name.Попробуйте сами, потому что они у вас одинаковые.

1 голос
/ 18 ноября 2017

Вам нужно только добавить значение идентификатора в форму, а затем добавить атрибут формы в текстовое поле со значением идентификатора формы

<form id="sample".....>
<textarea name="aba" form="sample".....></textarea>
</form>
0 голосов
/ 03 марта 2017

Хотя в вашем случае textarea не установлен на disabled, я обнаружил, что этот пост был в том, что я не получил значение от textarea, которое было.Так что вот примечание для всех с , которое выдает .

To POST значение из textarea, где вы хотите, чтобы поле не редактировалось, вместо этого используйте readonlyиз disabled - либо непосредственно в html, либо через setAttribute в JavaScript - а затем используйте CSS, чтобы выделить его, например:

textarea[readonly] {background-color:#F0F0F0;})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...