У меня возникли проблемы с формой контакта, которую я создал для своего сайта. Я не эксперт по PHP, но я думал, что правильная форма контакта будет более профессиональной, чем простая ссылка href mailto. Мне удалось получить электронное письмо, оно сообщает мне отправителя, но темы нет и все просто пустое без текста. Также я продолжаю получать 2 письма каждый день без отправителя.Вопрос о кодировании контактной формы Php
Это то, что я сделал в PHP на странице с именем contact.php. Я надеюсь, что вы можете помочь:
<?php
$name = $_POST['name'];
$email = $_POST['email'];
$form1_services = $_POST['form1_services'];
$msg = $_POST['msg'];
$formcontent="From: $name \n Message: $message";
$recipient = "[email protected]";
$subject = "Customer Inquiry";
$mailheader = "From: $email \r\n";
mail($recipient, $subject, $formcontent, $mailheader) or die("Error!");
echo "Thank You! Keep in touch soon!" . " -" . "<a href='index.html' style='text-decoration:none;font-family: 'gooddogregular';color:#009999;'> Return Home</a>";
>
И это фактическая форма в HTML:
<form action="contact.php" method="post">
<fieldset>
<legend></legend>
<div class="controlgroup">
<label for="form1_name">Name *</label>
<input type="text" placeholder="Enter your full name*" name="name" value>
</div>
<div class="controlgroup">
<label for="form1_email">Email *</label>
<input type="text" placeholder="Enter a valid email address*" name="email" value>
</div>
<div class="controlgroup">
<label for="form1_services">Services Required</label>
<select id="form1_services" name="services">
<option value="Website Design"> Website Design (from scratch) </option>
<option value="Resposive Design"> Responsive Design </option>
<option value="Customize a Site"> Customize a Site </option>
<option value="Quotation"> Quotation </option>
</select>
</div>
<div class="controlgroup">
<label>Project Info*</label>
<textarea placeholder="Ciao Alessandro, I am contacting you because...*" id="msg" name="msg" required aria-required="true"></textarea>
</div>
<input type="submit" name="submit_btn" id="send" value="Hit me up!" class="wow rubberBand animated" data-wow-delay="2s">
</fieldset>
</form>
Большое спасибо заранее. Алессандро
Добавить 'echo ('
'. $ _ POST ['name']. '
');' на ваш php, чтобы убедиться, что вы действительно получаете данные из формы. – SunKnight0Как предостерегающая история, как упоминает @samlev, вам нужно выполнить проверку, чтобы кто-то не захватил вашу форму для отправки спама. – Rasclatt
Также обратите внимание, что вы используете индекс, исходящий из атрибута 'name' html. Вы запрашиваете '$ _POST ['form1_services']', но он фактически отправляется как 'services'. –