After my contact form always worked smoothly, the “send” function recently stopped working. The input fields are checked properly and are also output with the correct messages. The checkboxes are also checked and registered. The error message only appears when “sending”. However, I can’t find this, but I assume that some variable is no longer current.
Can anyone help me with this? I pasted the script with PHP and HTML here.
My HTML
<form id="contact-form" accept-charset="utf-8" action="" method="POST">
<div class="row contact-row">
<div class="col-md-6 col-sm-6 col-xs-6 contact-name">
<input type="text" id="firstname" name="firstname" placeholder="Vorname *" required>
</div>
<div class="col-md-6 col-sm-6 col-xs-6 contact-name">
<input type="text" id="lastname" name="lastname" placeholder="Nachname *" required>
</div>
</div>
<div class="row contact-row">
<div class="col-md-8 col-sm-8 col-xs-8 contact-name">
<input name="street" id="street" type="text" placeholder="Straße *" required>
</div>
<div class="col-md-4 col-sm-4 col-xs-4 contact-name">
<input name="number" id="number" type="text" placeholder="Nr. *" required>
</div>
</div>
<div class="row contact-row">
<div class="col-md-4 col-sm-4 col-xs-4 contact-name">
<input name="zip" id="zip" type="text" placeholder="PLZ *" required>
</div>
<div class="col-md-8 col-sm-8 col-xs-8 contact-name">
<input name="local" id="local" type="text" placeholder="Ort *" required>
</div>
</div>
<div class="row contact-row">
<div class="col-md-6 col-sm-6 col-xs-6 contact-name">
<input name="telefon" id="telefon" type="text" placeholder="Telefon *" required>
</div>
<div class="col-md-6 col-sm-6 col-xs-6 contact-email">
<input name="email" id="email" type="email" placeholder="E-Mail *" required>
</div>
</div>
<input name="sideID" id="sideID" type="hidden" value="1420">
<textarea name="message" id="message" placeholder="Info" rows="5" required>Informationen</textarea>
<div class="col-md-12 col-sm-12 col-xs-12 mb-30">
<h6>Hinweise</h6>
<ul class="checkboxes">
<li>
<input type="checkbox" class="input-checkbox" name="check1" id="check1" required>
<label for="check1">* Der ...</label>
</li>
<li>
<input type="checkbox" class="input-checkbox" name="check2" id="check2" required>
<label for="check2">* Die ... </label>
</li>
</ul>
</div>
<input type="submit" class="btn btn-lg btn-submit" value="Ihre Anfrage absenden" id="submit-message">
<div id="msg" class="message"></div>
</form>
My php
<?php
if($_POST) {
$to = "[email protected]"; // Your email here
$subject = 'Test Homepage'; // Subject message here
}
//Send mail function
function send_mail($to,$subject,$message,$headers){
if(@mail($to,$subject,$message,$headers)){
echo json_encode(array('info' => 'success', 'msg' => "Ihre Anfrage wurde erfolgreich gesendet."));
} else {
echo json_encode(array('info' => 'error', 'msg' => "Es ist ein Fehler aufgetreten! Ihre Anfrage wurde nicht gesendet."));
}
}
//Check if $_POST vars are set
if(!isset($_POST['firstname']) || !isset($_POST['lastname']) || !isset($_POST['street']) || !isset($_POST['number']) || !isset($_POST['zip']) || !isset($_POST['local']) || !isset($_POST['telefon']) || !isset($_POST['email']) || !isset($_POST['message']) )
{
echo json_encode(array('info' => 'error', 'msg' => 'Füllen Sie bitte alle Felder aus.'));
}
$check1 = isset($_POST['check1']) ? true : false;
$check2 = isset($_POST['check2']) ? true : false;
$sideID = $_POST['sideID'];
//Sanitize input data, remove all illegal characters
$firstname = filter_var($_POST['firstname'], FILTER_SANITIZE_STRING);
$lastname = filter_var($_POST['lastname'], FILTER_SANITIZE_STRING);
$street = filter_var($_POST['street'], FILTER_SANITIZE_STRING);
$number = filter_var($_POST['number'], FILTER_SANITIZE_STRING);
$zip = filter_var($_POST['zip'], FILTER_SANITIZE_STRING);
$local = filter_var($_POST['local'], FILTER_SANITIZE_STRING);
$telefon = filter_var($_POST['telefon'], FILTER_SANITIZE_STRING);
$email = filter_var($_POST['email'], FILTER_SANITIZE_EMAIL);
$message = filter_var($_POST['message'], FILTER_SANITIZE_STRING);
//Validation
if($firstname == '') {
echo json_encode(array('info' => 'error', 'msg' => "Vornamen"));
exit();
}
if($lastname == '') {
echo json_encode(array('info' => 'error', 'msg' => "namen"));
exit();
}
if($street == '') {
echo json_encode(array('info' => 'error', 'msg' => "Straße"));
exit();
}
if($number == '') {
echo json_encode(array('info' => 'error', 'msg' => "Hausnummer"));
exit();
}
if($zip == '') {
echo json_encode(array('info' => 'error', 'msg' => " PLZ"));
exit();
}
if($local == '') {
echo json_encode(array('info' => 'error', 'msg' => "Ort"));
exit();
}
if($telefon == '') {
echo json_encode(array('info' => 'error', 'msg' => "Telefonnummer"));
exit();
}
if(!filter_var($email, FILTER_VALIDATE_EMAIL)){
echo json_encode(array('info' => 'error', 'msg' => "gültige E-Mai "));
exit();
}
if($message == ''){
echo json_encode(array('info' => 'error', 'msg' => "Nachricht vergessen."));
exit();
}
if($check1 == false) {
echo json_encode(array('info' => 'error', 'msg' => "Datenschutzerkärung"));
exit();
}
if($check2 == false) {
echo json_encode(array('info' => 'error', 'msg' => "Widerruf"));
exit();
}
//Send Mail
$headers = 'From: ' . $email .''. "rn".
'Reply-To: '.$email.'' . "rn" .
'X-Mailer: PHP/' . phpversion();
send_mail($to, $subject, 'Nachricht: ' .$message . "rnn" .'Objekt-Nr: '.$sideID. "rnn" .'Vorname: '.$firstname. "rn" .'Nachname: '.$lastname. "rnn" .'Strasse: '.$street. "rn" .'Hausnummer: '.$number. "rn" .'PLZ: '.$zip. "rn" .'Ort: '.$local. "rnn" .'Telefon: '.$telefon. "rnn" .'Datenschutz: '.$check1. "rn" .'Widerruf: '.$check2. "rnn" .'Email: '.$email, $headers);
?>
My Script
var submitContact = $('#submit-message1'),
message = $('#msg');
submitContact.on('click', function(e){
e.preventDefault();
var $this = $(this);
$.ajax({
type: "POST",
url: 'send1.php',
dataType: 'json',
cache: false,
data: $('#contact-form1').serialize(),
success: function(data) {
if(data.info !== 'error'){
$this.parents('form').find('input[type=text],input[type=email],input[type=checkbox],textarea,select').filter(':visible').val('');
message.hide().removeClass('success').removeClass('error').addClass('success').html(data.msg).fadeIn('slow').delay(5000).fadeOut('slow');
} else {
message.hide().removeClass('success').removeClass('error').addClass('error').html(data.msg).fadeIn('slow').delay(5000).fadeOut('slow');
}
}
});
});
I tried adding a value, but it didn’t help.
user24834436 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.