У меня есть контактная форма, которая отправляет только определенные поля, и я не совсем уверен, почему. Название компании и местоположение отправляется, а описание — нет. Вот сценарий ниже.
Сторона 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>
Любая помощь высоко ценится!
Использование $ _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 — другой необязательный параметр.
Прочитайте документы для получения дополнительной информации о том, что на самом деле означают заголовки и дополнительные параметры:
Вместо использования $ _REQUEST попробуйте использовать $ _POST вместо своего PHP в строке 1,2 и 3.