PHP 联系表有误?
PHP Error in Contact Form?
我正在尝试创建一个向我的电子邮件帐户 (Google) 发送电子邮件的联系表单。我找到了一个很好的教程,复制了代码并用我需要的替换了其中的一些代码(使用了一个教程,因为我对 PHP 和这个区域完全陌生。)我需要一个从我的网站向我发送电子邮件的表格但当我单击提交按钮时不会重定向到其他页面。我只想说 "Success" 或 "An error occurred."
我的问题是在 XAMPP 中单击提交按钮时出现以下错误:
注意:未定义的索引:名称在 C:\xampp\htdocs\THV\process.php on line 2
注意:未定义索引:第 3 行 C:\xampp\htdocs\THV\process.php 中的电子邮件
注意:未定义索引:第 4 行 C:\xampp\htdocs\THV\process.php 中的消息
您的消息已发送!
所以即使它说消息已发送,我的电子邮件中也没有收到电子邮件。
我的问题是 我如何创建一个表单,向我发送表单框输入的电子邮件并得到这个 php 不更改页面但显示 "your message has been sent" 在提交按钮下方? 这是我的代码:
<?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>
输入字段的 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>
我正在尝试创建一个向我的电子邮件帐户 (Google) 发送电子邮件的联系表单。我找到了一个很好的教程,复制了代码并用我需要的替换了其中的一些代码(使用了一个教程,因为我对 PHP 和这个区域完全陌生。)我需要一个从我的网站向我发送电子邮件的表格但当我单击提交按钮时不会重定向到其他页面。我只想说 "Success" 或 "An error occurred."
我的问题是在 XAMPP 中单击提交按钮时出现以下错误: 注意:未定义的索引:名称在 C:\xampp\htdocs\THV\process.php on line 2
注意:未定义索引:第 3 行 C:\xampp\htdocs\THV\process.php 中的电子邮件
注意:未定义索引:第 4 行 C:\xampp\htdocs\THV\process.php 中的消息 您的消息已发送!
所以即使它说消息已发送,我的电子邮件中也没有收到电子邮件。
我的问题是 我如何创建一个表单,向我发送表单框输入的电子邮件并得到这个 php 不更改页面但显示 "your message has been sent" 在提交按钮下方? 这是我的代码:
<?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>
输入字段的 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>