PHP - Mailformular: Unterschied zwischen den Versionen
Aus Wikizone
(Die Seite wurde neu angelegt: „Siehe auch (TODO) == Libs == Todo -> PHP-Mailer etc... == Beispiele == === Beispiel1 (Lifekinetik) === <syntaxhighlight lang="php"> <?php if($_POST) { $t…“) |
|||
| Zeile 82: | Zeile 82: | ||
<div id="msg" class="message success" style="display: none;">Ihre Nachricht wurde versandt. Vielen Dank.</div> | <div id="msg" class="message success" style="display: none;">Ihre Nachricht wurde versandt. Vielen Dank.</div> | ||
</form> | </form> | ||
| + | </syntaxhighlight> | ||
| + | |||
| + | JavaScript (jQuery) | ||
| + | <syntaxhighlight lang=javascript"> | ||
| + | /* ---------------------------------------------------------------------- */ | ||
| + | /* Contact Form | ||
| + | /* ---------------------------------------------------------------------- */ | ||
| + | |||
| + | var submitContact = $('#submit-message'), | ||
| + | message = $('#msg'); | ||
| + | |||
| + | submitContact.on('click', function(e){ | ||
| + | e.preventDefault(); | ||
| + | |||
| + | var $this = $(this); | ||
| + | |||
| + | $.ajax({ | ||
| + | type: "POST", | ||
| + | url: 'contact.php', | ||
| + | dataType: 'json', | ||
| + | cache: false, | ||
| + | data: $('#contact-form').serialize(), | ||
| + | success: function(data) { | ||
| + | |||
| + | if(data.info !== 'error'){ | ||
| + | $this.parents('form').find('input[type=text],input[type=email],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'); | ||
| + | } | ||
| + | } | ||
| + | }); | ||
| + | }); | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Version vom 11. Oktober 2018, 06:17 Uhr
Siehe auch (TODO)
Libs
Todo -> PHP-Mailer etc...
Beispiele
Beispiel1 (Lifekinetik)
<?php
if($_POST) {
$to = "info@angelajochum.de"; // Your email here
$subject = 'Nachricht von angelajochum.de'; // Standard Subject
}
//Send mail function
function send_mail($to,$subject,$message,$headers){
if(@mail($to,$subject,$message,$headers)){
echo json_encode(array('info' => 'success', 'msg' => "Ihre Nachricht wurde versandt. Vielen Dank."));
} else {
echo json_encode(array('info' => 'error', 'msg' => "Fehler, ihre Nachricht konnte nicht versendet werden."));
}
}
//Check if $_POST vars are set
if(!isset($_POST['name']) || !isset($_POST['mail']) || !isset($_POST['comment'])){
echo json_encode(array('info' => 'error', 'msg' => 'Bitte füllen Sie alle Felder aus.'));
}
//Sanitize input data, remove all illegal characters
$name = filter_var($_POST['name'], FILTER_SANITIZE_STRING);
$mail = filter_var($_POST['mail'], FILTER_SANITIZE_EMAIL);
$subject = filter_var($_POST['subject'], FILTER_SANITIZE_STRING);
$website = filter_var($_POST['website'], FILTER_SANITIZE_STRING);
$comment = filter_var($_POST['comment'], FILTER_SANITIZE_STRING);
//Validation
if($name == '') {
echo json_encode(array('info' => 'error', 'msg' => "Bitte geben Sie Ihren Namen ein.."));
exit();
}
if(!filter_var($mail, FILTER_VALIDATE_EMAIL)){
echo json_encode(array('info' => 'error', 'msg' => "Bitte geben sie eine gültige E-Mail Adresse ein."));
exit();
}
if($comment == ''){
echo json_encode(array('info' => 'error', 'msg' => "Bitte geben sie Ihre Nachricht ein."));
exit();
}
//Send Mail
$headers = 'From: ' . $mail .''. "\r\n".
'Reply-To: '.$mail.'' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
send_mail($to, $subject, $comment . "\r\n\n" .'Name: '.$name. "\r\n" .'E-Mail: '.$mail, $headers);
?>
<form id="contact-form" action="#">
<div class="row contact-row">
<div class="col-md-6 contact-name">
<input name="name" id="name" placeholder="Name*" type="text">
</div>
<div class="col-md-6 contact-email">
<input name="mail" id="mail" placeholder="E-Mail*" type="email">
</div>
</div>
<input name="subject" id="subject" placeholder="Betreff" type="text">
<textarea name="comment" id="comment" placeholder="Ihre Nachricht"></textarea>
<div class="col-md-12">
<p>DATENSCHUTZHINWEIS<br>
Mit meiner Kontaktaufnahme willige ich ein, dass meine Daten gespeichert und zur Bearbeitung meiner Anfrage/Kontaktaufnahme
sowie für die Zusendung von Informationsmaterial genutzt werden. Eine Weiterleitung an Dritte ist ausgeschlossen.
Diese Einwilligung kann jederzeit widerrufen werden.<br>
</p>
</div>
<input class="btn btn-lg btn-color btn-submit" value="Absenden" id="submit-message" type="submit">
<div id="msg" class="message success" style="display: none;">Ihre Nachricht wurde versandt. Vielen Dank.</div>
</form>
JavaScript (jQuery)
/* ---------------------------------------------------------------------- */
/* Contact Form
/* ---------------------------------------------------------------------- */
var submitContact = $('#submit-message'),
message = $('#msg');
submitContact.on('click', function(e){
e.preventDefault();
var $this = $(this);
$.ajax({
type: "POST",
url: 'contact.php',
dataType: 'json',
cache: false,
data: $('#contact-form').serialize(),
success: function(data) {
if(data.info !== 'error'){
$this.parents('form').find('input[type=text],input[type=email],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');
}
}
});
});