Возникли проблемы с электронной формой на html - PullRequest
0 голосов
/ 12 апреля 2019

У меня были проблемы с кодированием формы электронной почты на моем сайте.У меня есть HTML-страница индекса и php-код в другом документе.

Это мой HTML-код:

<form class="customform" method="post"action="form-to-email.php">
<div class="Email"><input name="" placeholder="Your e-mail" 
title="Email" type="text" /></div>
<div class="Name"><input name="" placeholder="Your name" 
title="Name" type="text" /></div>
<div class="Message"><textarea placeholder="Your message" name="" 
rows="5"></textarea></div>
<div class="s-12 m-12 l-4"><button class="color-btn" 
type="submit" value="Send Form" >Submit Button</button> </div>
</form>

PHP:

<?php
$Email = $_POST['Email'];
$Name = $_POST['Name'];
$Message = $_POST['Message'];
?>

<?php
$email_from = 'info@alvaconsultorias.com';
$email_subject = "New Form submission";
$email_body = "You have received a new message from the user 
$name.\n". "Here is the message:\n $message"
?>

<?php

  $to = "info@alvaconsultorias.com";
  $headers = "From: $email_from \r\n";
  $headers .= "Reply-To: $visitor_email \r\n";
  mail($to,$email_subject,$email_body,$headers);

 ?>

Моя страница не имеет 'еще не загружен, я только что просмотрел его на Chrome.Я не знаю, может ли это быть проблемой.

Спасибо, любая помощь будет благодарна.

Ответы [ 3 ]

0 голосов
/ 12 апреля 2019

Вы запускаете страницы через веб-сервер, такой как Apache или nginx?Ничего не произойдет, если вы просто просматриваете их как отдельные файлы.Возможно, вам сначала потребуется загрузить / установить WAMP (Windows) или MAMP (MacOS).

0 голосов
/ 12 апреля 2019

В вашем коде есть несколько ошибок.На первой странице должны быть определены имена для каждого ввода:

<form class="customform" method="post"action="p.php">
<div class="Email">
    <input name="Email" placeholder="Your e-mail" title="Email" type="text" />
</div>
<div class="Name">
    <input name="Name" placeholder="Your name" title="Name" type="text" />
</div>
<div class="Message">
    <textarea placeholder="Your message" name="Message" rows="5"></textarea>
</div>
<div class="s-12 m-12 l-4">
    <button class="color-btn" type="submit" value="Send Form" >Submit Button</button>
</div>
</form>

Затем, во-вторых, ваш PHP-скрипт ссылался на переменные, в которых были опечатки.Вот что вы, вероятно, хотели бы, чтобы это выглядело:

<?php
$Email = $_POST['Email'];
$Name = $_POST['Name'];
$Message = $_POST['Message'];

$email_from = 'info@alvaconsultorias.com';
$email_subject = "New Form submission";
$email_body = "You have received a new message from the user $Name.\n".
  "Here is the message:\n $Message";

$to = "info@alvaconsultorias.com";
$headers = "From: $email_from \r\n";
$headers .= "Reply-To: $Email \r\n";
mail($to,$email_subject,$email_body,$headers);
?>
0 голосов
/ 12 апреля 2019

Ваши HTML-входы должны иметь имена

<form class="customform" method="post"action="form-to-email.php">
<div class="Email">
<input name="Email" placeholder="Your e-mail" title="Email" type="text" />
</div>

<div class="Name">
<input name="Name" placeholder="Your name" title="Name" type="text" />
</div>

<div class="Message">
<textarea placeholder="Your message" name="Message" rows="5"></textarea>
</div>

<div class="s-12 m-12 l-4">
<input type="submit" class="color-btn" name="submit" value="Submit Button" >
</div>
</form>

И приятно добавить подтверждение в ваш код PHP:

<?php
if(isset($_POST['submit']){
$Email = $_POST['Email'];
$Name = $_POST['Name'];
$Message = $_POST['Message'];

$email_from = 'info@alvaconsultorias.com';
$email_subject = "New Form submission";
$email_body = "You have received a new message from the user 
$name.\n". "Here is the message:\n $message"

$to = "info@alvaconsultorias.com";
$headers = "From: $email_from \r\n";
$headers .= "Reply-To: $visitor_email \r\n";
mail($to,$email_subject,$email_body,$headers);
}
?>

Надеюсь, это может помочь вам

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...