我有一个管理页面,该页面收集以表格形式提交的表单用户的数据。我想要一个按钮,当单击该按钮时可以识别用户电子邮件列,并向他们发送预制电子邮件。
我当然环顾了四周,但是所有遇到与我类似的问题的人,因此它们的形式也与按钮在同一页上,因此他们可以执行$_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.';
}
?>
答案 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'];