按下提交按钮时发送电子邮件

时间:2014-01-03 16:14:55

标签: forms email

我有一个非常简单的表单,允许用户在这里输入电子邮件地址:

<form method="post" action="http://www.mydomain.com/page2/">
    <input type="email" name="email">
    <input type="submit" value="Submit">
</form>

这可以正常工作,点击提交按钮时访问者可以访问www.mydomain.com/page2。

我正在尝试通过电子邮件向我发送此输入电子邮件地址,同时单击提交按钮。我了解如何使用PHP发送电子邮件,但该操作可以有两个网址吗?

或者有更简单的方法吗?

4 个答案:

答案 0 :(得分:1)

/page2/上访问全局变量$_POST['email']中的电子邮件。然后你可以用PHP mail()将它发送给自己。例如:

mail('myemail@domain.com', 'Someone submitted my form', 'Their email was: ' . $_POST['email']);

如果你被困在其他地方,请告诉我,我可以更新答案。

答案 1 :(得分:1)

提交表单后,您将不再访问该页面。你已经离开了。

另一种方法是通过AJAX提交第一个动作,然后将表单自然地提交到第二个目的地。我建议使用jQuery来进行AJAX调用,因为大多数AJAX代码已经可供你使用了。

另一个选择是让page2成为一个php脚本,让它在收到表单数据后执行这两个操作。请参阅:Post to another page within a PHP script

答案 2 :(得分:0)

  

我了解如何使用PHP发送电子邮件

然后我建议编写一些发送电子邮件给你的PHP代码。

  

但是这个动作可以有两个网址吗?

没有。 Web浏览器不能同时发出两个请求。哪个响应优先?

也不需要。现在,您已经有了目标:

http://www.mydomain.com/page2/

你不控制那个页面吗?这将是您将PHP代码用于发送电子邮件的页面。如果您控制该页面,那么您需要一个中间页面。类似的东西:

sendmailandredirect.php

(仅用于说明意图,您可以将其命名为您喜欢的内容。)此页面将执行的操作是发送电子邮件,然后向您的最终目标发出重定向。类似的东西:

header('Location: http://www.mydomain.com/page2/');

实际上,会有“两个网址”,但它们是以串行方式而不是并行方式调用的。

答案 3 :(得分:0)

如果你想保持代码分开并且动作网址为/ page 2 /你可以在提交给你的sendmail处理程序时触发ajax请求。