我的PHP文件没有将值从网站传递到我的电子邮件.
index.html中的表单代码块:
<!--Contact Form-->
<form id="contact" action="mail.php" method="post" enctype="text/plain">
<input name="name" placeholder="Your name" type="text" tabindex="1" required autofocus>
<input name="email" placeholder="Your Email Address" type="email" tabindex="2" required>
<input name="contact" placeholder="Your Phone Number" type="tel" tabindex="3" required>
<textarea name="message" placeholder="Your Message...." tabindex="4" required></textarea><br>
<input id="submit" name="submit" type="submit" value="Submit"/>
<input id="reset" name="reset" type="reset" value="Reset">
Run Code Online (Sandbox Code Playgroud)
CSS:
#contact input[type="text"],
#contact input[type="email"],
#contact input[type="tel"],
#contact textarea {
width:75%;
box-shadow:inset 0 1px 2px #DDD, 0 1px 0 #FFF;
-webkit-box-shadow:inset 0 1px 2px #DDD, 0 1px 0 #FFF;
-moz-box-shadow:inset 0 1px 2px #DDD, 0 1px 0 #FFF;
border:1px solid #CCC;
background:#FFF;
border-radius:5px;
padding:10px 10px;
font-family:Arial, Helvetica, sans-serif;
font-size:14px;
}
fieldset {
border:0;
}
#contact button [type="submit"],
#contact button [type="reset"]
{
width:100%;
height:AUTO;
}
Run Code Online (Sandbox Code Playgroud)
PHP文件:
<?php
//collect data
$name = $_POST['name'];//Your Name
$email = $_POST['email'];//Email ID
$contact = $_POST['contact'];//Contact number
$message = $_POST['message'];//Message
//declare data
$to = "vertika7march@gmail.com";//Recipient Email ID
$subject = "Message from center2enter.com";//Inbox Subject
$body = "Message from-\n Name: $name\n Email: $email\n Contact: $contact\n Message: $message";
mail($to,$subject,$body);//Mail sent
//redirect
echo "<div align='center' style ='font:30px Arial,Helvetica,sans-serif; color:blue'>Thank you for your message. I will be in touch with you very soon!</div>";//Thank you Screen
?>
Run Code Online (Sandbox Code Playgroud)
输出我收到我的邮件:
'来自 - 的消息
名称:
电子邮件:
联系:
信息:'
[没有获得我的网站'center2enter.com'上提交的变量的值']
我试过了:
$ body ="From:($ _POST ['name'])\n电子邮件:($ _POST ['email'])\n联系人:($ _POST ['contact'])\n $ message =($ _POST [ '信息'])";
$ body =("From:".$ name"\nEmail:".$ email"\nContact:".$ contact"\nMessage:".message;);
我是否必须使用PHPMailer或者我可以发送邮件吗?
简单; enctype="text/plain"从表单标签中删除; 使用POST数组时,它不是有效的enctype.
另外,我没有</form>在代码中看到结束标记,因此请确保它实际存在.
您还应该使用正确的标头,否则您的代码可能会被误认为是没有有效From:电子邮件地址的垃圾邮件.
如果有人没有使用兼容HTML5的浏览器,建议您检查是否有空输入; 这有可能发生.
我是否必须使用PhpMailer,否则我可以发送邮件?
即使您使用PHPMailer或任何其他邮件程序,您仍然必须从表单中删除enctype.