我正在尝试创建一个向我的电子邮件帐户(Google)发送电子邮件的联系表单。我找到了一个很好的教程,复制了代码并用我需要的东西替换了一些代码(使用了一个教程,因为我对PHP和这个领域完全是绿色的。)我需要一个表单,它从我的网站向我发送电子邮件但不重定向单击“提交”按钮时显示不同的页面。我只想说“成功”或“发生错误。”
我的问题是在XAMPP中我点击提交按钮并收到以下错误: 注意:未定义的索引:第2行的C:\ xampp \ htdocs \ THV \ process.php中的名称
注意:未定义的索引:第3行的C:\ xampp \ htdocs \ THV \ process.php中的电子邮件
注意:未定义的索引:第4行的C:\ xampp \ htdocs \ THV \ process.php中的消息 您的消息已发送!
所以即使它发送了消息,我的电子邮件中也没有收到电子邮件。
我的问题是如何创建一个表单,向我发送表单框输入的电子邮件并获取此php不更改页面但在提交按钮下方显示“您的邮件已发送”? 这是我的代码:
<?php $name=$_POST['name'];
$email=$_POST['email'];
$message=$_POST['message'];
$from='From: Test';
$to='versionabstracts@gmail.com';
$subject='Test';
$body="From: $name\n E-Mail: $email\n Message:\n $message";
if ($_POST['submit']) {
/* Anything that goes in here is only performed if the form is submitted */
}
if ($_POST['submit']) {
if (mail ($to, $subject, $body, $from)) {
echo'<p>Your message has been sent!</p>';
}
else {
echo'<p>Something went wrong, go back and try again!</p>';
}
}
?>
<div class="container">
<div class="row">
<div class="five columns">
<form method="post" action="process.php">
<label>Name</label>
<input name="" placeholder="Name">
<label>Email</label>
<input name="" type="email" placeholder="Email">
<label>Message</label>
<textarea name="" placeholder="Message"></textarea>
<input id="submit" name="submit" type="submit" value="Submit">
</form>
</div>
</div>
</div>
答案 0 :(得分:1)
输入字段的name
属性用于PHP中$_POST
数组的索引。
您未在HTML代码中设置name
属性。出于这个原因,例如$_POST['name']
无法解析,导致消息。
要解决此问题,请填写以下属性:
<div class="container">
<div class="row">
<div class="five columns">
<form method="post" action="process.php">
<label>Name</label>
<input name="name" placeholder="Name">
<label>Email</label>
<input name="email" type="email" placeholder="Email">
<label>Message</label>
<textarea name="message" placeholder="Message"></textarea>
<input id="submit" name="submit" type="submit" value="Submit">
</form>
</div>
</div>
</div>