我无法为我的联系表单获取正确的PHP脚本.我设法给它发电子邮件,但它没有在电子邮件中显示姓名,电子邮件或文本.
PHP脚本
<?php
$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];
$to = 'myemail@email.comm';
$subject = 'Hello';
mail ($to, $subject, $message, "From: " . $name);
echo "Your Message has been sent.";
?>
联系表
<form role="form" action="contact.php">
<div class="form-group">
<label for="InputName">Name</label>
<input name="name" type="text" class="form-control" id="InputName" placeholder="Enter Name">
</div>
<div class="form-group">
<label for="InputEmail">Email Address</label>
<input name="email" type="email" class="form-control" id="inputEmail" placeholder="Enter email">
</div>
<div class="form-group">
<label for="InputText">Message</label>
<input name="message" type="text" class="form-control" id="InputText" placeholder="Enter Text">
</div>
<button name="submit" type="submit" class="btn btn-default">Send</button>
</form>
解决方法:
您正在使用POST变量,但您的表单如下:
<form role="form" action="contact.php">
没有定义POST方法.未定义方法时,表单默认为GET.
因此,您需要将表单更改为
<form role="form" action="contact.php" method="post">
从你留下的评论:
“我仍然遇到一个问题,而不是给我输入他们输入的电子邮件,它给出了由托管公司创建的电子邮件,这是不好的.”
答:这很可能是因为你在代码中使用From:你的名字.邮件正在等待电子邮件地址.
更换:
mail ($to, $subject, $message, "From: " . $name);
有:
mail ($to, $subject, $message, $header);
并在$subject =’Hello’下添加以下内容;
$header = "From: ". $name . " <" . $email . ">\r\n";
这样,您将在电子邮件中看到此人的姓名,同时拥有有效的“发件人”标题.
>有关邮件标题的详细信息,请访问http://php.net/manual/en/function.mail.php.
补充说明:
我还建议你测试是否有任何字段没有留空:
if(!empty($_POST['name']) && !empty($_POST['email']) && !empty($_POST['message']))
{
// execute code
}
否则,任何人都可以发送没有任何信息的电子邮件.
您还可以像其他地一样添加其他{} {echo“请填写所有字段.”; }
>这是一种非常基本的方法.
标签:php,html5 来源: https://codeday.me/bug/20190716/1476752.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。