Соблюдение (основа) проверки не работает
Я работаю над сайтом WordPress, и мне нужно проверить форму с помощью Abide и AJAX. Обычно, как я это делаю, это работает, но на этот раз это не так. Вы можете мне помочь? Вот ссылка на сайт с формой: http://demitimmermans.nl/ehealthfabriek-wp/contact/
Ниже я вставил часть своего кода. Пожалуйста, скажите мне, если вы знаете, что идет не так, спасибо заранее!
Код формы:
<form action="<?php echo get_template_directory_uri(); ?>/contactengine.php" method="post" id="form" data-abide="ajax">
<fieldset>
<label for="naam">Naam:</label>
<input name="naam" id="naam" type="text" required/>
<small class="error">Dit is een verplicht veld.</small>
</fieldset>
<fieldset>
<label for="email">E-mailadres:</label>
<input name="email" id="email" type="email" placeholder="" required/>
<small class="error">Dit is een verplicht veld.</small>
</fieldset>
<fieldset>
<label for="bericht">Bericht:</label>
<textarea type="text" name="bericht" id="bericht" placeholder="" cols="20" required/></textarea>
<small class="error">Dit is een verplicht veld.</small>
</fieldset>
<fieldset>
<label for="checkbox">Ik wil me abonneren op de nieuwsbrief</label>
<input name="checkbox" id="checkbox" type="checkbox" placeholder=""/>
<small class="error">Dit is een verplicht veld.</small>
</fieldset>
<input name="username" type="text" style="display: none">
<button id="formSend" type="submit">verzend bericht</button>
</form>
код app.js:
$(document).foundation('abide','events');
$('#form')
.on('invalid.fndtn.abide', function(e) {
alert("wtf");
})
.on('valid.fndtn.abide', function(e) {
$.post('http://www.demitimmermans.nl/ehealthfabriek-wp/wp-content/themes/ehealthfabriek/contactengine.php?ajax', $('#form').serialize(), function(data) {
$('#formSuccess').slideUp(0);
$('#formSuccess').html(data);
$('#formSuccess').slideDown(500);
$("#form").animate({opacity:0},350);
}, 'text');
});
свяжитесь с кодом engine.php:
<?php
$sMailAdres = 'test@test.nl';
$sHeaders = 'MIME-Version: 1.0' .PHP_EOL;
$sHeaders .= 'Content-type: text/html; charset=iso-8859-1' . PHP_EOL;
$Subject = "Webformulier eHealthfabriek";
$Naam = Trim(stripslashes($_POST['naam']));
$Email = Trim(stripslashes($_POST['email']));
$Bericht = Trim(stripslashes($_POST['bericht']));
$Username = Trim(stripslashes($_POST['username'])); // Spampreventie
$sHeaders .= 'Reply-To: '.$Email.PHP_EOL;
$sHeaders .= 'From: '.$sMailAdres.PHP_EOL;
// prepare email body text
$Body = "";
$Body .= "<b>Naam:</b> ";
$Body .= "<br/>";
$Body .= $Naam;
$Body .= "<br/>";
$Body .= "<br/>";
$Body .= "<b>E-mailadres:</b> ";
$Body .= "<br/>";
$Body .= "<a href='mailto:".$Email."'>".$Email."</a>";
$Body .= "<br/>";
$Body .= "<br/>";
$Body .= "<b>Bericht:</b> ";
$Body .= "<br/>";
$Body .= $Bericht;
$Body .= "<br/>";
if($Naam == "" || $Email == "" || $Bericht == ""){ // Alle of een paar verplichte velden
// Als er direct naar het PHP bestand wordt gelinkt
header("refresh:7;url=http://www.demitimmermans.nl/ehealthfabriek-wp");
echo "1";
exit;
}else {
if( $Username == "" ){ // Spampreventie (je moet hiervoor wel een inputveld aanmaken met als name "username" en deze vervolgens verbergen met css)
mail($sMailAdres, $Subject, $Body, $sHeaders);
if(isset($_GET['ajax'])) { // Als het formulier goed is ingevuld weg via javascript
echo "<h4>Bericht verzonden!</h4>";
exit;
} else { // als javascript niet ondersteund wordt, of het ergens niet goed gaat met javascript
header("refresh:7;url=http://www.demitimmermans.nl/ehealthfabriek-wp");
echo "2";
exit;
}
}
}
?>