我有PHP mail
代码,可以在页面加载时成功发送电子邮件,但是我需要在同一页面的表单发布中发送它。我已经查看了其他答案,因为我意识到这通常是一件很简单的事情,但是由于使用的特定代码,我无法解决我的问题。
页面是订单输入系统的一部分,页面加载后,会向管理员发送电子邮件以通知订单已开始。目前可以使用-但我需要在此电子邮件中包含用户在同一页面上输入的数据。
我并不是在寻求帮助来包含用户数据的变量(我意识到它们尚未包含在mail
代码中),而是如何在单击用户名时发送相同的mail
。页面的提交按钮。
您可以看到我尝试if(isset($_POST["submit"])){
失败,但是将其注释掉了。
由下面的HTML按钮触发而不是在页面加载时发送此mail
的最佳方法是什么?
// PHP currently sending mail on page load
// if(isset($_POST["submit"])){
if ($_SESSION['sessfirstemailsent'] != 'yes')
{
$_SESSION['sessfirstemailsent'] = 'yes' ;
if ($_SESSION['sessorderformdatalogo'] == 'logo.jpg')
{
$logoimage = '<img alt="Proud Member of the US Family Guide Network" src="http://' . $_SESSION['sessorderformdatadomain'] . '/images/logo.jpg" class="img-fluid mx-auto" width="' . $logowidth . 'px"/>';
}
else
{
$logoimage= '<img alt="' . $_SESSION['sessorderformdatalogo'] . '" src="http://' . $_SESSION['sessorderformdatadomain'] . '/images/' . $_SESSION['sessorderformdatalogo'] .'" class="img-fluid mx-auto" width="' . $logowidth . 'px"/>';
}
$to = $sendadminemailto;
$from = 'info@USFamilyGuide.com';
$subject = 'New order start from ' . $_SESSION['sessorderformdatadomainblurb'];
$message = '<html><body>' . $logoimage . ' <br> ' . $emailmessage . $_SESSION['sessorderformdatadomainblurb'] . '<br /><br /></body></html>';
$headers = 'From: ' . $from . "\r\nContent-type: text/html\r\n";
mail($to, $subject, $message, $headers);
}
// }
<!-- HTML button i want to trigger the mail -->
<input class="btn-lg btn-primary float-right" type="submit" name="submit" value="Save & Continue"/>
答案 0 :(得分:0)
您的按钮只是缺少要提交的表单。
<form action="<yourFilename>.php" method="POST">
<input class="btn-lg btn-primary float-right" type="submit" name="submit" value="Save & Continue"/>
</form>
如果是正确的。