我有一个非常简单的表单,允许用户在这里输入电子邮件地址:
<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发送电子邮件,但该操作可以有两个网址吗?
或者有更简单的方法吗?
答案 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请求。