PHP - Mailformular: Unterschied zwischen den Versionen
Aus Wikizone
| Zeile 6: | Zeile 6: | ||
== Beispiele == | == Beispiele == | ||
=== Beispiel1 (Lifekinetik) === | === Beispiel1 (Lifekinetik) === | ||
| + | '''PHP''' | ||
<syntaxhighlight lang="php"> | <syntaxhighlight lang="php"> | ||
<?php | <?php | ||
| Zeile 60: | Zeile 61: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
| + | '''HTML''' | ||
<syntaxhighlight lang="html5"> | <syntaxhighlight lang="html5"> | ||
<form id="contact-form" action="#"> | <form id="contact-form" action="#"> | ||
| Zeile 84: | Zeile 86: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
| − | JavaScript (jQuery) | + | '''JavaScript (jQuery)''' |
<syntaxhighlight lang=javascript"> | <syntaxhighlight lang=javascript"> | ||
/* ---------------------------------------------------------------------- */ | /* ---------------------------------------------------------------------- */ | ||
Version vom 11. Oktober 2018, 06:18 Uhr
Siehe auch (TODO)
Libs
Todo -> PHP-Mailer etc...
Beispiele
Beispiel1 (Lifekinetik)
PHP
<?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);
?>
HTML
<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');
}
}
});
});