PHP的HTML邮件中的PHP变量


PHP Variable in HTML mail by PHP

我找不到任何解决问题的方法。我发现的东西不起作用。我想把表单中的变量放入HTML邮件中。我想我理解将POST变量从表单中获取到HTML邮件中的方法,但它不起作用。这是我的PHP脚本,它在一个单独的数据中。hp:

mailerneu.php

<?php
    error_reporting(E_ALL);
    $vorname = $_POST["Vorname"];
    $nachname = $_POST["Nachname"];
    $email = $_POST["Mailadresse"];
    $telefonnumer = $_POST["Telefonnummer"];
    $geburtsjahr = $_POST["Geburtsjahr"];
    $plz = $_POST["PLZ"];
    $datum = $_POST["Datum"];
    $zeit = $_POST["Zeit"];
    $personen = $_POST["Personen"];
    $bereich = $_POST["Bereich"];
    $nachricht = $_POST["Nachricht"];
    $mailTo = "fixl@bodega-online.de";
    $subject = "Tischreservierung";
    $from = "From: Bodega Bremerhaven<reservierungen@domain.de>'r'n";
    $from .= "Content-Type: text/html; charset; utf8'r'n";
    $text = "
        <head>
            <title>Neue Tischreservierung von <strong>$vorname $nachname</strong></title>
        </head>
        <body>
            <table style='font-family:calibri,sans-serif; font-size: 16pt;'>
                <tr>
                    <td>Vorname:</td>
                        <td>".htmlspecialchars($vorname)."</td>
                            </tr>
                <tr>
                    <td>Nachname:</td>
                        <td>" .$nachname. "</td>
                            </tr>
                <tr>
                    <td>Email:</td>
                        <td>" .$email. "</td>
                            </tr>
                <tr>
                    <td>Telefonnummer:</td>
                        <td>" .$telefonnummer. "</td>
                            </tr>
                <tr>
                    <td>Geburtsjahr:</td>
                        <td>" .$geburtsjahr. "</td>
                            </tr>
                <tr>
                    <td>PLZ:</td>
                        <td>" .$plz. "</td>
                            </tr>
                <tr>
                    <td>Datum:</td>
                        <td>" .$datum. "</td>
                            </tr>
                <tr>
                    <td>Uhrzeit:</td>
                        <td>" .$zeit. "</td>
                            </tr>
                <tr>
                    <td>Personen:</td>
                        <td>" .$personen. "</td>
                            </tr>
                <tr>
                        <td>Bereich:</td>
                        <td>" .$bereich. "</td>
                            </tr>
                <tr>
                    <td>Nachricht:</td>
                        <td>" .$nachricht. "</td>
                            </tr>
        </body>";
    mail($mailTo, $subject, $text, $from);
?>

这是我的HTML表单的PHP文件:

reservereung.php

<?php
    include ("mailerneu.php");
?>
<div class="text">
    <form method="post" action="reservtrue.php">
        <table id="reservtable">
            <tr>
                <td>
                    <label for="vornamelbl"><strong id="textreserv">Vorname:</strong></label>
                </td>
                <td>
                    <input type="text" name="Vorname" placeholder="Vorname" class="formreserv" id="vornamelbl">
                </td>
            </tr>
            <tr>
                <td>
                    <label for="nachnamelbl"><strong id="textreserv">Nachname:</strong></label>
                </td>
                <td>
                    <input type="text" name="Nachname" placeholder="Nachname" class="formreserv" id="nachnamelbl" required><strong id="required"> *</strong>
                </td>
            </tr>
            <tr>
                <td>
                    <label for="emaillbl"><strong id="textreserv">e-Mail Adresse:</strong></label>
                </td>
                <td>
                    <input type="email" name="Mailadresse" placeholder="Gültige Adresse!" class="formreserv" id="emaillbl" required><strong id="required"> *</strong>
                </td>
            </tr>
            <tr>
                <td>
                    <label for="telefonnummerlbl"><strong id="textreserv">Telefonnummer:</strong></label>
                </td>
                <td>
                    <input type="tel" name="Telefonnummer" placeholder="Mobil oder Festnetz" min="5" max="20" class="formreserv" id="telefonnummerlbl" required><strong id="required"> *</strong>
                </td>
            </tr>
            <tr>
                <td>
                    <label for="geburtsjahrlbl"><strong id="textreserv">Geburtsjahr:</strong></label>
                </td>
                <td>
                    <input type="text" name="Geburtsjahr" placeholder="1984" min="4" max="4" class="formreserv" id="geburtsjahrlbl" required><strong id="required"> *</strong>
                </td>
            </tr>
            <tr>
                <td>
                    <label for="postleitzahllbl"><strong id="textreserv">Postleitzahl</strong></label>
                </td>
                <td>
                    <input type="text" name="PLZ" placeholder="PLZ" min="5" max="5" class="formreserv" id="postleitzahllbl" required><strong id="required"> *</strong>
                </td>
            </tr>
            <tr>
                <td>
                    <label for="datumlbl"><strong id="textreserv">Datum der Reservierung:</strong></label>
                </td>
                <td>
                    <input type="date" name="Datum" placeholder="Klick" min="10" max="10" class="formreserv" id="datumlbl" required><strong id="required"> *</strong>
                </td>
            </tr>
            <tr>
                <td>
                    <label for="uhrzeitlbl"><strong id="textreserv">Uhrzeit:</strong></label>
                </td>
                <td>
                    <input type="text" name="Zeit" placeholder="Stunde" min="12" max="21" class="formreservhour" id="uhrzeitlbl" required>
                    <input type="text" name=" " placeholder="Minute" min="00" max="59" class="formreservminute" required><strong id="required"> *</strong>
                </td>
            </tr>
            <tr>
                <td>
                    <label for="personenlbl"><strong id="textreserv">Personen:</strong></label>
                </td>
                <td>
                    <input type="text" name="Personen" placeholder="1 bis 30" min="1" max="2" class="formreserv" id="personenlbl" required><strong id="required"> *</strong>
                </td>
            </tr>
            <tr>
                <td>
                    <label for="bereichlbl"><strong id="textreserv">Bitte Bereich wählen:</strong></label>
                </td>
                <td>
                    <form>
                        <select name="Bereich" class="dropreserv" id="bereichlbl">
                            <option>Bereich wählen:</option>
                            <option>Nichtraucher</option>
                            <option id="raucher">Raucher</option>
                        </select><strong id="required"> *</strong>
                    </form>
                </td>
            </tr>
            <tr>
                <td>
                    <label for="nachrichtlbl"><strong id="textreserv">Nachricht (optional):</strong></label>
                </td>
                <td>
                    <textarea name="Nachricht:" class="reservtextarea" id="nachrichtlbl" placeholder="Ihr Text"></textarea>
                </td>
            </tr>
            <tr>
                <td>
                    <label for="click"><strong id="textreserv">Eine Kopie an mich</strong></label>
                </td>
                <td>
                    <div class="checkbox">
                    <input type="checkbox" name="sendcopy" value="copy" id="click">
                    </div>
                </td>
            </tr>
            <tr>
                <td>
                </td>
                <td>
                    <input type="submit" name="" value="Reservieren" id="submit">
                </td>
            </tr>
        </table>
    </form>
</div>

我希望我没有犯很多错误。我收到了HTML表格的邮件。但是在<td>中只有变量是空的。希望等待并继续研究。

每次包含PHP mailerneu.PHP文件时,都会触发一封包含空数据的邮件,因为表单尚未提交。所以更好地使用包含方式:

if (isset($_POST['Vorname']) {
    include ("mailerneu.php");
}

此外,我在你的HTML表单中发现了一个错误:

name="Nachricht:"-您添加了一个额外的:(双点)。请验证您的HTML表单输入名称一次。