我的 PHP 邮件的 HTML 联系表单不起作用



我对HTML和CSS有很好的理解,但在PHP方面完全是新手。我在网上搜索过,并在多个不同的教程中尝试过,但我似乎无法定制php代码来处理我的联系人页面的电子邮件表单。(www.richseeley.com/contact)

最终,我希望这份表格能在不离开页面的情况下,通过弹出窗口确认发送的消息,但到目前为止,我甚至无法让它在最基本的意义上发挥作用。目前,它正在回复"感谢您使用我们的邮件表单",但电子邮件没有发送。

这是我的联系表格的html编码:

<div id="form-main">
<div id="form-div">
<form class="form" id="form1" action="scripts/test.php" method="post" enctype="text/plain">
<input name="name" type="text" class="feedback-input" placeholder="Name" id="name" />
<input name="email" type="text" class="feedback-input" id="email" placeholder="Email" />                    
<textarea name="message" class="feedback-input" id="message" placeholder="Message"></textarea>  
<input type="submit" value="SEND" id="button-blue"/>
</form>
</div>
</div>

下面是我最近尝试使用的PHP代码:

<?php
//send email
$name = $_REQUEST['name'] ;
$email = $_REQUEST['email'] ;
$message = $_REQUEST['message'] ;
mail("r*******@gmail.com", $name,
$message, "From:" . $email);
echo "Thank you for using our mail form";
?>

我很感激这是我试图解决的一个相当简单的问题,但我花了几个小时都没有成功,我真的不想在我的作品/网站的设计上妥协,最终使用一些不那么风格化的东西,就像基本教程所提供的那样。

我唯一能想到的方法是:

<?php
if (isset($_REQUEST['email']))
//if "email" is filled out, send email
{
echo <p>Are you sure you want to do this?</p>
<form action="send_mail.php" method="post">
<input type="submit" name="ok" value="OK" />
<input type="submit" name="cancel" value="Cancel" />
</form>
?>

send_mail.php中:

<?php>
//send email
if (isset($_POST['ok'])) {
$name = $_REQUEST['name'] ;
$email = $_REQUEST['email'] ;
$message = $_REQUEST['message'] ;
mail("richsee******@****.com", $name,
$message, "From:" . $email);
echo "Thank you for using our mail form";
}
}
if (isset($_POST['cancel'])) {
header('Location: didnt_confirm.html");
}
?>

此外,您的php似乎是错误的并且易受攻击,但您所要求的只是确认;)

如果您担心漏洞(标头注入),可以阅读本文。

最新更新