Ich erstelle einen Zitat-Builder Kontakttyp des Formulars, wo der Benutzer in der Lage ist, ihre Funktionen zu wählen, und unten ihren Namen, E-Mail und eine kleine Nachricht eingeben können. Ich verwende die Basis eines einfachen Kontaktformulars und verwende PHPMailer, um das Formular zu senden. Ich habe eine kleine Testseite erstellt, um zu sehen, ob ich die Ergebnisse bekommen kann, nach denen ich suche, bevor ich mit dem ganzen Projekt fortfahre.Wie kann der Status eines Eingabefeldes, das per E-Mail gesendet werden soll, hinzugefügt werden?
Wir setzen den 'Wert' der Checkbox-Eingabe als eine Zahl, so dass der Quote Builder alles preisgeben kann und hofft, dass es eine einfache Möglichkeit gibt, per E-Mail zu senden, ob eine bestimmte Checkbox aktiviert wurde nicht mit einem Namen
Hier ist der HTML:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
</head>
<body>
<div class="contact">
<?php if(!empty($errors)): ?>
<div class="panel">
<ul><li><?php echo implode('</li><li>', $errors); ?></li></ul>
</div>
<?php endif; ?>
<form action="contact.php" method="post">
<label>
Your Name *
<input type="text" name="name" autocomplete="off"<?php echo isset($fields['name']) ? 'value="' . e($fields['name']) . '"' : '' ?>>
</label>
<label>
Your email address *
<input type="text" name="email" autocomplete="off"<?php echo isset($fields['email']) ? 'value="' . e($fields['email']) . '"' : '' ?>>
</label>
<label>
Example feature
<input type="checkbox" name="feature" class="option" value="25">
</label>
<label>
Your message *
<textarea name="message" row="8"<?php echo isset($fields['message']) ? e($fields['message']) : '' ?>></textarea>
</label>
<input type="submit" value="Send">
<p class="muted">* means a required field</p>
</form>
</div>
</body>
</html>
<?php
unset($_SESSION['errors']);
unset($_SESSION['fields']);
?>
Hier ist ein Teil des PHP: Beachten sie, wo es $ m- erwähnt> Body das ist, wo ich das echo müssen werde Kontrollkästchenwert
$m = new PHPMailer;
$m->isSMTP();
$m->SMTPAuth = true;
$m->Host = 'hosthere';
$m->Username = '[email protected]';
$m->Password = 'password';
$m->SMTPSecure = 'ssl';
$m->Port = 465;
$m->isHTML();
$m->Subject = 'Contact form submitted';
$m->Body = 'From: ' . $fields['name'] . ' (' . $fields['email'] . ')<p>' . $fields['message'] . '</p> ' . $fields['feature'];
$m->FromName = 'Contact';
$m->AddAddress('[email protected]', 'User Name');
if($m->send()) {
header('Location: thanks.php');
die();
} else {
$errors[] = "Sorry, could not send email. Try again later.";
}
Ist die PHP-Datei zu ändern, wo Sie E-Mail 'contact.php' schicken? –
Ich denke, es sollte $ _POST ['name'] nicht $ fields ['name'] sein. Recht? –
Ja, es sendet von index.php zu contact.php. – Ryan