PHP HTML 邮件中的变量 PHP
PHP Variable in HTML mail by PHP
我找不到解决我的问题的方法。我发现的东西不起作用。我想将表单中的变量放入 HTML 邮件中。我想我了解从表单获取 POST 变量到 HTML 邮件的方法,但它不起作用。这是我的 PHP 脚本,它位于单独的 data.php:
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 文件:
reservierung.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 table。但只有 <td>
中的变量为空。希望等待并仍在研究中。
每次包含 PHP mailerneu.php 文件时,由于尚未提交表单,它会触发一封包含空数据的邮件。所以最好以这种方式使用包含:
if (isset($_POST['Vorname']) {
include ("mailerneu.php");
}
此外,我发现您的 HTML 表格有误:
name="Nachricht:"
- 您添加了一个额外的 :
(双点)。请验证您的 HTML 表单输入一次名称。
我找不到解决我的问题的方法。我发现的东西不起作用。我想将表单中的变量放入 HTML 邮件中。我想我了解从表单获取 POST 变量到 HTML 邮件的方法,但它不起作用。这是我的 PHP 脚本,它位于单独的 data.php:
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 文件:
reservierung.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 table。但只有 <td>
中的变量为空。希望等待并仍在研究中。
每次包含 PHP mailerneu.php 文件时,由于尚未提交表单,它会触发一封包含空数据的邮件。所以最好以这种方式使用包含:
if (isset($_POST['Vorname']) {
include ("mailerneu.php");
}
此外,我发现您的 HTML 表格有误:
name="Nachricht:"
- 您添加了一个额外的 :
(双点)。请验证您的 HTML 表单输入一次名称。