PHP:从表单中获取电子邮件,并在单击按钮时发送


PHP: Getting the email from a form and sending it when a button is clicked

所以我希望网站发送 2 封电子邮件 - 给员工和客户。工作人员有一个预设的电子邮件,而客户必须将其写在文本框(表单)中。我试图收到客户的邮件。

<form id='contact-info' method='post' novalidate class="form contact-info">
    <div class="contact-info__field contact-info__field-mail">
        <input type='email' name='user-mail' placeholder='Your email' class="form__mail">
    </div>
    <div class="contact-info__field contact-info__field-tel">
        <input type='tel' name='user-tel' placeholder='Phone number' class="form__mail">
    </div>
</form>

</div>
<div class="order">
    <a href="Rezervare-final.html" name="button1" class="btn btn-md btn--warning btn--wide">Cumpara</a>
</div>
And here's the php right after the html.
<?php
if (isset($_POST['button1'])) {
    $toclient = "Test client";
    $tostaff = "Test staff";
    $maile = $_POST['user-mail'];
    $toclient = wordwrap($toclient, 70);
    $tostaff = wordwrap($tostaff, 70);
    mail($maile, 'My Subject', $toclient);
    mail('example@yahoo.com', 'My Subject', $tostaff);
}
?>

我能够收到员工的电子邮件,但不能收到客户的电子邮件。问题:为什么我收不到客户电子邮件?

您没有使用提交按钮提交数据,因此无法获取$_POST['user-mail']值。

如果你使用类似的东西,它应该可以工作

<form id='contact-info' method='post' class="form contact-info" action="" >
                <div class="contact-info__field contact-info__field-mail">
                    <input type='email' name='user-mail' placeholder='Your email' class="form__mail">
                </div>
                <div class="contact-info__field contact-info__field-tel">
                    <input type='tel' name='user-tel' placeholder='Phone number' class="form__mail">
                </div>
                          <input type='submit' name='button1' value="submit">
            </form>

        </div>

除非你有一些不与我们分享的javascript,否则该表单永远不会提交; button1 是指向 Rezervare-final 的链接.html

因此,您需要将链接替换为提交按钮

<input value= "Cumpara" type = "submit"/>

<button type="submit">Cumpara</button>

在处理脚本中,不要侦听按钮;如果电子邮件字段是唯一的必填字段,则侦听该字段:

if(isset($_POST['user-mail'])){
//process form/emails
}

试试这个.....文件名应该是 Rezervare-final.php而不是 Rezervare-final.html

<form id='contact-info' method='post' action="Rezervare-final.php" class="form contact-info">
    <div class="contact-info__field contact-info__field-mail">
        <input type='email' name='user-mail' placeholder='Your email' class="form__mail">
    </div>
    <div class="contact-info__field contact-info__field-tel">
        <input type='tel' name='user-tel' placeholder='Phone number' class="form__mail">
    </div>
</form>

</div>
<div class="order">
    <input type='submit' name='button1' value="Cumpara" class="btn btn-md btn--warning btn--wide>
</div>
And here's the php right after the html.
<?php
if (isset($_POST['button1'])) {
    $toclient = "Test client";
    $tostaff = "Test staff";
    $maile = $_POST['user-mail'];
    $toclient = wordwrap($toclient, 70);
    $tostaff = wordwrap($tostaff, 70);
    mail($maile, 'My Subject', $toclient);
    mail('example@yahoo.com', 'My Subject', $tostaff);
}
?>
<form id='contact-info' method='post' novalidate class="form contact-info">
<div class="contact-info__field contact-info__field-mail">
    <input type='email' name='user-mail' placeholder='Your email' class="form__mail">
</div>
<div class="contact-info__field contact-info__field-tel">
    <input type='tel' name='user-tel' placeholder='Phone number' class="form__mail">
 <input type="submit" name="submit" class="submit">
</div>
</form>
<?php
if (isset($_POST['submit'])) {
$toclient = "Test client";
$tostaff = "Test staff";
$maile = $_POST['user-mail'];
$toclient = wordwrap($toclient, 70);
$tostaff = wordwrap($tostaff, 70);
mail($maile, 'My Subject', $toclient);
mail('example@yahoo.com', 'My Subject', $tostaff);
}
?>

试试这个,我相信你的 php 脚本中缺少一些标题,以及看到 PHP 手册希望它能:)