контактная форма электронной почты в php [дубликаты]

1

Я создаю веб-сайт, и я хочу настроить контактную форму электронной почты. Что-то вроде этого: контактный формуляр электронной почты

Мне кажется, что этот код будет делать это? Но когда я нажимаю кнопку "Отправить", ничего не происходит. Я никогда не использовал php, поэтому я понятия не имею, что я делаю неправильно.

<?php 
if(isset($_POST['submit'])){
    $to = "[email protected]"; // this is your Email address
    $from = $_POST['email']; // this is the sender Email address
    $first_name = $_POST['first_name'];
    $subject = "Form submission";
    $subject2 = "Copy of your form submission";
    $message = $first_name . " " . $last_name . " wrote the following:" . "\n\n" . $_POST['message'];
    $message2 = "Here is a copy of your message " . $first_name . "\n\n" . $_POST['message'];

    $headers = "From:" . $from;
    $headers2 = "From:" . $to;
    mail($to,$subject,$message,$headers);
    mail($from,$subject2,$message2,$headers2); // sends a copy of the message to the sender
    }
?>

<!DOCTYPE html>
<head>
<title>Form submission</title>
</head>
<style>
#from{
	font-weight: bold;
	font-family: Trajan Pro;
	font-size: 14px;
	color: #66441c;
	}
.input{
	outline: none;
	margin: 5px 0 10px 0;
	padding-left: 10px;
	width: 230px;
	height: 35px;
	font-family: Adobe Garamond Pro;
	font-size: 14px;
	color: #A4A4A4;
	border-radius: 5px;
	border: 1px solid #a37f4f;
	}
textarea {
	padding-top: 10px;
	}	
#message{
	outline: none;
	margin: 5px 0 10px 0;
	padding-left: 10px;
	width: 230px;
	height: 60px;
	font-family: Adobe Garamond Pro;
	font-size: 14px;
	color: #A4A4A4;
	border-radius: 5px;
	border: 1px solid #a37f4f;
	}	
#button{
	margin-top: -10px;
	border: none;
	outline: none;
	border-radius: 5px;
	width: 230px;
	height: 35px;
	font-family: Trajan Pro;
	font-size: 14px;
	color: #fff;
	background-color: #a37f4f;
	}
#button:hover {
  background-color: #401b0f;
  color: #a37f4f;
}		
</style>
<body>

<form id="from" action="" method="post">
Name <input class="input" type="text" name="first_name"><br>
Email <input class="input" type="text" name="email"><br>
Message <br><textarea id="message" rows="5" name="message" cols="30"></textarea><br>
<input id="button" type="submit" name="submit" value="Submit">
</form>

</body>
</html> 
  • 0
    Не отображается сообщение об успешном завершении, нет проверки или отчета об ошибках, поэтому вы не получите сообщение об ошибке, если оно не удалось. Единственный способ подтвердить это будет, если вы получили письмо. Есть разные вещи, которые вы можете попробовать, как только вы сузите круг происходящего.
Теги:
forms
email
contact

4 ответа

0

Почему вы используете $last_name? Удалите его или добавьте новое текстовое поле для фамилии.

0

Попробуйте проверить, отправлено ли электронное письмо или нет.

<? php
if (isset($_POST['submit'])) {
  $to = "[email protected]"; // this is your Email address
  $from = $_POST['email']; // this is the sender Email address
  $first_name = $_POST['first_name'];
  $subject = "Form submission";
  $subject2 = "Copy of your form submission";
  $message = $first_name.
  " ".$last_name.
  " wrote the following:".
  "\n\n".$_POST['message'];
  $message2 = "Here is a copy of your message ".$first_name.
  "\n\n".$_POST['message'];

  $headers = "From:".$from;
  $headers2 = "From:".$to;
  $email1 = mail($to, $subject, $message, $headers);
  $email2 = mail($from, $subject2, $message2, $headers2); // sends a copy of the message to the sender
}
if ($email1) {// checking if email 1 is sent
  echo "Email 1 is sent";
} else {
  echo "Email 1 is not sent";
}
if ($email2) {//checking if email 2 is sent
  echo "Email 2 is sent";
} else {
  echo "Email 2 is not sent";
} ?>

добавьте это в свой атрибут формы. action="<?php echo $_SERVER['PHP_SELF'];?>" example: <form method="POST" action="<?php echo $_SERVER['PHP_SELF'];?>">

0

Ваша форма action и onsubmit атрибуты являются пустыми, поэтому информация формы никогда не представляется в любом месте. Вам нужно либо указать, какую страницу отправить содержимое формы (с помощью action="..."), либо указать функцию javascript для выполнения (используя onsubmit="..."), иначе ничего не произойдет, когда вы нажмете " Submit кнопка.

0

У меня была аналогичная проблема

Я использовал в form Tag

action="<?php echo $_SERVER['PHP_SELF']; ?>" 

Ещё вопросы

Сообщество Overcoder
Наверх
Меню