我对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";
?>
我很欣赏这是一个我想解决的相当简单的问题,但我花了几个小时没有成功,我真的不想让我的工作/网站设计受到损害,并且结束正如基本教程所提供的那样,使用不那么风格化的东西。
答案 0 :(得分:0)
我能想到的唯一方法就是:
<?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似乎错了,容易受到攻击,但你所要求的只是确认;)
如果您担心漏洞(标题注入),可以阅读this.