so I am trying to make a simple contact form with html and php.
My code seems to be more or less fitting, but when pressing the submit button, all that happens, is the site getting reloaded…
Please be aware, that some variable names/texts are in german, but that should not effect the code.
I am basically trying to call the contact.php file, by pressing the submit button, unfortunately, all that happens is the site reloading and not sending the mail.
Here is the html code:
<form action="contact.php" method="post" class="cnt-form">
<div class="form-input">
<label for="name">Name*</label>
<input type="text" name="name" placeholder="Max Mustermann" required="">
</div>
<div class="form-input">
<label for="name">Firma</label>
<input type="text" name="firma" placeholder="Mustermann GmbH"
</div>
<div class="form-input">
<label for="name">Straße</label>
<input type="text" name="strasse" placeholder="Musterstraße 1">
</div>
<div class="form-input">
<label for="name">PLZ</label>
<input type="text" name="plz" placeholder="1234" pattern = "[0-9]{4}">
</div>
<div class="form-input">
<label for="name">Ort</label>
<input type="text" name="ort" placeholder="Musterstadt">
</div>
<div class="form-input">
<label for="email">Email*</label>
<input type="text" name="email" placeholder="[email protected]" required="" pattern="[a-z0-9._%+-]+@[a-z0-9.-]+.[a-z]{2,4}$">
</div>
<div class="form-input">
<label for="telefon">Telefon*</label>
<input type="tel" name="telefon" placeholder="1234 1234567890" required="">
</div>
<div class="form-input">
<label for="subject">Betreff*</label>
<input type="text" name="subject" placeholder="Betreff" required="">
</div>
<div class="form-input">
<label for="message">Nachricht*</label>
<textarea name="message" placeholder="Geben Sie hier Ihren Informationswunsch ein." required=""></textarea>
</div>
<input type="submit" name="send" class="btn" value="Senden">
</form>
Here the php code in the contact.php file:
<?php
if(isset($_POST['send']) ) {
$recipient = "[email protected]";
$name = "";
$firma = "";
$strasse = "";
$plz = "";
$ort = "";
$telefon = "";
$email = "";
$subject = "";
$message = "";
$email_body = "<div>";
if(isset($_POST['name'])) {
$name = filter_var($_POST['name'], FILEINFO_RAW);
$email_body .= "<div>
<label><b>Absender:</b></label> <span>".$name."</span>
</div>";
}
if(isset($_POST['firma'])) {
$firma = filter_var($_POST['firma'], FILEINFO_RAW);
$email_body .= "<div>
<label><b>Firma:</b></label> <span>".$firma."</span>
</div>";
}
if(isset($_POST['strasse'])) {
$strasse = filter_var($_POST['strasse'], FILEINFO_RAW);
$email_body .= "<div>
<label><b>Straße:</b></label> <span>".$strasse."</span>
</div>";
}
if(isset($_POST['plz'])) {
$plz = filter_var($_POST['plz'], FILEINFO_RAW);
$email_body .= "<div>
<label><b>PLZ:</b></label> <span>".$plz."</span>
</div>";
}
if(isset($_POST['ort'])) {
$ort = filter_var($_POST['ort'], FILEINFO_RAW);
$email_body .= "<div>
<label><b>Ort:</b></label> <span>".$ort."</span>
</div>";
}
if(isset($_POST['telefon'])) {
$telefon = filter_var($_POST['telefon'], FILEINFO_RAW);
$email_body .= "<div>
<label><b>Telefon:</b></label> <span>".$telefon."</span>
</div>";
}
if(isset($_POST['email'])) {
$email = str_replace(array("r", "n", "%0a", "%0d"), '', $_POST['email']);
$email = filter_var($email, FILTER_VALIDATE_EMAIL);
$email_body .= "<div>
<label><b>E-Mail:</b></label> <span>".$email."</span>
</div>";
}
if(isset($_POST['subject'])) {
$subject = filter_var($_POST['subject'], FILEINFO_RAW);
$email_body .= "<div>
<label><b>Betreff:</b></label> <span>".$subject."</span>
</div>";
}
if(isset($_POST['message'])) {
$message = htmlspecialchars($_POST['message']);
$email_body .= "<div>
<label><b>Anfrage:</b></label>
<div>".$message."</div>
</div>";
}
$email_body .= "</div>";
$headers = 'Anfrage von '. $name;
if(mail($recipient, $subject, $email_body, $headers)) {
function_alert("Wir bedanken us für Ihre Anfrage! Sie werden in Kürze eine Rückmeldung erhalten.");
} else {
function_alert("Anfrage konnte nicht versendet werden. Bitte versuchen Sie es später erneut!");
}
} else {
function_alert("Ups... Etwas ist schiefgelaufen. Bitte versuchen Sie es später erneut!");
}
function function_alert($msg): void
{
echo "<script type='text/javascript'>alert('$msg');</script>";
}