点击按钮即可发送电子邮件,其中包含来自不同页面的数据

时间:2019-02-05 19:30:53

标签: php html forms

我有一个管理页面,该页面收集以表格形式提交的表单用户的数据。我想要一个按钮,当单击该按钮时可以识别用户电子邮件列,并向他们发送预制电子邮件。

我当然环顾了四周,但是所有遇到与我类似的问题的人,因此它们的形式也与按钮在同一页上,因此他们可以执行$_POST和{{1 }}。我不能这样做,因为表单在不同的页面中。

这是管理员查看用户信息的表:

mailto

然后是管理员将其发送的按钮:

<td><?php echo $v['telephone']; ?></td>
<td><?php echo $v['email']; ?></td>
<td><?php echo $v['website']; ?></td>

下面是发送它的php代码:

<input type="submit" value="Send confirmation" />
<input type="hidden" name="button_pressed" value="1" />

当我单击它时似乎什么也没发生。当然,我也实际上没有收到任何电子邮件。我在这里想念什么?

我还是在其上方放置了标题标签,不确定该页面是否确实对该页面有任何作用,但我环顾四周,他们说这可能有帮助,但没有帮助。

<?php

if(isset($_POST['button_pressed']))
{
$to      = $v['email'];
$subject = 'ayayay';
$message = 'hello';
$headers = 'From: webmaster@example.com' . "\r\n" .
    'Reply-To: webmaster@example.com' . "\r\n" .
    'X-Mailer: PHP/' . phpversion();

mail($to, $subject, $message, $headers);

echo 'Email Sent.';
}

?>  

1 个答案:

答案 0 :(得分:2)

  

表格在不同的页面

但是您仍在尝试提交表单:

<input type="submit" value="Send confirmation" />
<input type="hidden" name="button_pressed" value="1" />

无论另一页上可能存在哪种表格,要提交表格,您仍需要在此处填写表格。例如:

<form method="POST" action="">
    <input type="submit" value="Send confirmation" />
    <input type="hidden" name="button_pressed" value="1" />
</form>

添加action所需的任何URL(如果不是当前页面的URL)。当然,您可能需要其他input元素以获取其他值。例如,如果您需要一个带有$v['email']值的输入,则可以添加一个:

<form method="POST" action="">
    <input type="submit" value="Send confirmation" />
    <input type="hidden" name="button_pressed" value="1" />
    <input type="hidden" name="email" value="<?php echo $v['email']; ?>" />
</form>

然后在表单处理程序中为此发送电子邮件的地方,像其他任何表单一样使用$_POST['email']。例如:

$to = $_POST['email'];