联系电子邮件表格在PHP中

时间:2015-11-14 08:17:15

标签: php forms email contact

我正在建立一个网站,我想设置一个联系电子邮件表格。这样的事情:contact email form image

我知道这段代码会这样做吗? 但是当我点击提交按钮时没有任何反应。 我之前从未使用过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> 

4 个答案:

答案 0 :(得分:0)

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

<? 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']; ?>">

答案 1 :(得分:0)

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

答案 2 :(得分:0)

我有类似的问题

我在form Tag

中使用过
action="<?php echo $_SERVER['PHP_SELF']; ?>" 

答案 3 :(得分:0)

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