使用 wp_mail() 将带有表单变量的电子邮件发送到电子邮件

问题描述

我创建了一个 WP 模板并添加了一个表单。 在表单下方,我添加了 wp_mail() 函数以将用户输入的数据发送到他们的电子邮件中。

现在,我收到通知:

注意:未定义索引:mypath 中的名称。

欢迎任何有关如何解决此问题的帮助。

编辑 1: 以获得通知,我必须删除 if 语句。

编辑 2: 这实际上是我拥有的关于表单的所有代码。我错过了什么吗?我需要在某处或类似的地方添加 add_action() 吗?

代码:


<form id="form" method="post" action="">
    <label for="name">Name:</label>
    <input type="text" id="name" name="name">
    </br>
    <label for="surname">Surname:</label>
    <input type="text" id="surname" name="surname">
    </br>
    <label for="email">Email:</label>
    <input type="email" id="email" name="email">
    </br>
    <label for="tel">Phone number:</label> 
    <input type="tel" id="tel" name="tel">
    </br>
    <input type="submit" value="Submit" name="submit">
</form>

<?php
if(isset($_POST['submit'])) {
    $name = $_POST['name'];
    $surname = $_POST['surname'];
    $email = $_POST['email'];
    $tel = $_POST['tel'];
                    
    $to = $_POST[$email]; //[email protected]
    $subject = 'Reservation';
    $body = 'Name: ' . $name .  '\r\n' .
            'Surname: ' . $surname .  '\r\n' .
            'Email ' . $email .  '\r\n' .
            'Phone number: ' . $tel .  '\r\n';
                            
    wp_mail( $to,$subject,$body );
    echo "Sent!";
}
?>


答案

编辑 3: 只是为了说明解决方案是 $to = $_POST['email']; //[email protected] 所以 ['email'] not [$email]

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)