PHP 中的联系电子邮件表单


contact email form in php

我正在制作一个网站,我想设置一个联系电子邮件表单。像这样的东西:联系人电子邮件表单图像

我被引导明白这段代码会做到这一点吗?但是当我单击提交按钮时,没有任何反应。我以前从未使用过php,所以我不知道我做错了什么。

<?php 
if(isset($_POST['submit'])){
    $to = "mecinoart@hotmail.com"; // this is your Email address
    $from = $_POST['email']; // this is the sender's 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> 

表单

actiononsubmit属性为空,因此表单信息永远不会提交到任何地方。您需要指定要将表单内容发送到哪个页面(使用 action="..." (或指定要执行的 javascript 函数(使用 onsubmit="..."(,否则单击Submit按钮时不会发生任何事情。

我有类似的问题

我在form Tag中使用

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

尝试检查电子邮件是否已发送。

<? php
if (isset($_POST['submit'])) {
  $to = "mecinoart@hotmail.com"; // this is your Email address
  $from = $_POST['email']; // this is the sender's 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']; ?>"示例:<form method="POST" action="<?php echo $_SERVER['PHP_SELF']; ?>">

为什么使用 $last_name?删除它或为姓氏添加一个新文本框。