Witam, mam problem z wysyłaniem maili za pomocą php. Oto mój kod:
Formularz kontaktowy:
<form id="contact-form" method="POST" action="front-page.php">
<div class="form-group">
<label for="email">Email:</label>
<input name="email" type="email" class="form-control" id="email">
</div>
<div class="form-group">
<label for="subject">Temat:</label>
<input name="subject" type="subject" class="form-control" id="subject">
</div>
<div class="form-group">
<label for="message">Twoja wiadomość:</label>
<textarea name="message" class="form-control" rows="8" id="message"></textarea>
</div>
<input id="submit" type="submit" class="btn btn-default" value="Wyślij wiadomość"></input>
</form>
PHP:
<?php
if (isset(isset($_POST['email']) && isset($_POST['subject'])) {
$email = $_POST['email'];
$subject = $_POST['subject'];
$body = $_POST['message'];
$to = 'xyz@gmail.com';
//headers
$headers = "From: <".$email.">\r\n";
$headers .= "Reply-To: ".$email."\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset-utf-8";
//send
$send = mail($to, $subject, $body, $headers);
if ($send) {
echo '<br>';
echo 'Thanks for contacting me. I will be with You shorty.';
} else {
echo 'error';
}
}
?>
JS:
// Form Validation ------------------------------------ //
// Form is not valid on page load //
var isFormValid = false;
// input variables //
var email = $('#email');
var subject = $('#subject');
var message = $('#message');
var subtmitBtn = $('#submit');
var form = $('#contact-form');
var isEmailValid = function () {
var emailVal = email.val();
return emailVal.indexOf('@') > -1 && emailVal.length <= 100;
};
var isSubjectValid = function () {
var subjectVal = subject.val();
return subjectVal.length > 0 && subjectVal.length <= 100;
};
var isMessageValid = function () {
var messageVal = message.val();
return messageVal.length > 0 && messageVal.length <= 500;
};
function formValidation() {
var isFormValid = isEmailValid() && isSubjectValid() && isMessageValid();
if (isFormValid === false) {
alert('Błąd. Proszę sprawdzić czy pola zostały poprawnie wypełnione. / Error. Please check all textareas.');
} else {
alert('Wiadomość została wysłana. / Succes. Message send.');
form[0].reset();
}
};
subtmitBtn.click(function(event) {
event.preventDefault();
formValidation();
});
Podstawowa sprawa: Czy ta walidacja przez JS jest potrzebna w przypadku PHP?
Po drugie jest to strona ONE PAGE na wordpressie i jak sami widzicie kod PHP umieszczam na front-page.php bo chce, aby po wysłaniu maila użytkownik pozostał na stronie głównej.
Proszę o radę co robię nie tak.