Контактная форма только отправка определенных полей

У меня есть контактная форма, которая отправляет только определенные поля, и я не совсем уверен, почему. Название компании и местоположение отправляется, а описание — нет. Вот сценарий ниже.

Сторона PHP:

$companyname=$_REQUEST['companyname'];
$location=$_REQUEST['location'];
$description=$_REQUEST['description'];
if (($companyname=="")||($location=="")||($description==""))
{
echo "Company Name, Company Location, and Company Description are required, please fill <a href=\"\">the form</a> again.";
}
else{
$from="From: <$email>\r\nReturn-path: $email";
$subject="Company Information";
mail("[email protected]", $subject, $companyname, $location, $description);

}
}

HTML-форма:

  <form class="xform" id="admin_form" method="post">
<label align = "left">Company Name *</label>
<section class="col col-4">
<label class="input"> <i class="icon-prepend icon-user"></i> <i class="icon-append icon-asterisk"></i>
<input type="text" name="companyname" placeholder="Company Name">
</label>
</section><br>
<label align = "left">Company's Province of Operation *</label>
<section class="col col-4">
<label class="input"> <i class="icon-prepend icon-user"></i> <i class="icon-append icon-asterisk"></i>
<input type="text" name="location" placeholder="Company's Province of Operation">
</label>
</section><br>
<label align = "left">Company Description *</label>
<section class="col col-4">
<label class="input"> <i class="icon-prepend icon-user"></i> <i class="icon-append icon-asterisk"></i>
<textarea type="text" name="description" placeholder="Please be as specific as possible. Include information about what kind of work your company does, what sector you operate in, and the type of legal services you will require."></textarea>
</label>
</section><br><form>

Любая помощь высоко ценится!

-3

Решение

Использование $ _POST для получения данных формы является приемлемым методом, но это не проблема. Вы должны передать функции mail () один третий параметр для сообщения.

Вот как работает mail ():

bool mail (string $to, string $subject, string $message [,string $additional_headers [,string $additional_parameters ] ] )

Итак, если вы хотите отправить данные формы как тело сообщения, вам нужно будет сделать что-то вроде этого:

$message = $companyname." ";
$message .= $location. " ";
$message .= $description;
mail("[email protected]",$subject,$message);

Параметры за пределами сообщения являются необязательными, и если вы установите их, как вы это сделали, вы сообщаете mail (), что $ location — это строка с дополнительными заголовками, а $ description — другой необязательный параметр.

Прочитайте документы для получения дополнительной информации о том, что на самом деле означают заголовки и дополнительные параметры:

http://php.net/manual/en/function.mail.php

3

Другие решения

Вместо использования $ _REQUEST попробуйте использовать $ _POST вместо своего PHP в строке 1,2 и 3.

-3

По вопросам рекламы [email protected]