首页 > 解决方案 > 如何在 PHP 中自动将表单数据发送到电子邮件地址

问题描述

我的表单当前收集用户输入的数据,然后在新页面上以特定格式显示。我希望新页面上显示的这些数据也通过电子邮件自动发送给管理员。

我四处寻找 PHP 中的 Mail 函数,但似乎无法发送从下拉菜单收集的表单数据,也无法控制如何通过电子邮件发送输出。

<form action="dealform.php" method="post">

    <div class="form-row">
        <div class="col">

            <label for="amount">Currency</label>
            <select class="form-control" name="currency" id="exampleFormControlSelect1">
                <option disabled selected value> -- select a Currency -- </option>
                <option value="€">EUR</option>
                <option value="$">USD</option>
                <option value="A$">AUD</option>
                <option value="£">GBP</option>
                <option value="₽">Rouble</option>
                <option value="R">Rand</option>
                <option value="¥">Yen</option>
            </select>
        </div>
        <div class="col">

            <label for="amount">Amount</label>
            <input type="text" class="form-control" name="amount" id="amount" >
        </div>
    </div>
    <br>
    <button type="submit" class="btn btn-primary">Submit</button>
    <button type="reset" class="btn btn-primary">Reset</button>

</form>

这是dealform.php:

<p>
Amount: <?= $_POST["currency"] ?> <?= $_POST["amount"] ?>
</p>

当我点击提交时,选择的货币和金额会像下面的示例一样整齐地显示:金额:100 美元。

我似乎无法以这种格式自动将此信息发送到我选择的电子邮件,我是否遗漏了什么?

标签: phphtml

解决方案


您缺少“回声”以将该值放在“金额:”之后

    <p>
    Currency: <? echo $_POST["currency"]; ?> Amount: <? echo $_POST["amount"]; ?>
    </p>

应该使它生成正确的邮件文本。
要发送带有这些值的消息,dealform.php 将包含

$message="<p> Currency:". $_POST["currency"]. " Amount:". $_POST["amount"]; 
mail('caffeinated@example.com', 'My Subject', $message);

推荐阅读