I
Intersect
Guest
Hallo.
Ich habe mir ein Kontakt Formular erstellt, es funktioniert alles wie soll. Allerdings kommt die Email am ende nicht an. Ich weiß nicht warum, vielleicht sieht ihr warum.
Hier nochmal auf einen Blick:
Contact PHP:
Validation.js:
Ich habe letztendlich mit hilfe eines Tutorials erstellt und etwas angepasst das Subject noch eingefügt ist. Außerdem habe ich das script über Wordpress und einem PHP Plugin eingebunden. Ohne das Plugin kann ich keine php Dateien in Seiten oder Artikel einbinden. Ansonst habe ich noch was am Design geändert. Damit Ihr wisst woran es vielleicht liegen könnte.
Vielen Dank!
Ich habe mir ein Kontakt Formular erstellt, es funktioniert alles wie soll. Allerdings kommt die Email am ende nicht an. Ich weiß nicht warum, vielleicht sieht ihr warum.
Hier nochmal auf einen Blick:
Contact PHP:
Code:
<?php
// Set email variables
$email_to = '@live.de';<!--ZENSIERT, daran liegt das Problem nicht-->
$email_subject = 'Request';
// Set required fields
$required_fields = array('fullname','subject','comment','email');
// set error messages
$error_messages = array(
'fullname' => 'Please enter a Name to proceed.',
'subject' => 'Please enter a subject to continue.',
'comment' => 'Please enter your Message to continue.',
'email' => 'Please enter a valid Email Address to continue.'
);
// Set form status
$form_complete = FALSE;
// configure validation array
$validation = array();
// check form submittal
if(!empty($_POST)) {
// Sanitise POST array
foreach($_POST as $key => $value) $_POST[$key] = remove_email_injection(trim($value));
// Loop into required fields and make sure they match our needs
foreach($required_fields as $field) {
// the field has been submitted?
if(!array_key_exists($field, $_POST)) array_push($validation, $field);
// check there is information in the field?
if($_POST[$field] == '') array_push($validation, $field);
// validate the email address supplied
if($field == 'email') if(!validate_email_address($_POST[$field])) array_push($validation, $field);
}
// basic validation result
if(count($validation) == 0) {
// Prepare our content string
$email_content = 'New Website Comment: ' . "\n\n";
// simple email content
foreach($_POST as $key => $value) {
if($key != 'submit') $email_content .= $key . ': ' . $value . "\n";
}
// if validation passed ok then send the email
mail($email_to, $email_subject, $email_content);
// Update form switch
$form_complete = TRUE;
}
}
function validate_email_address($email = FALSE) {
return (preg_match('/^[^@\s]+@([-a-z0-9]+\.)+[a-z]{2,}$/i', $email))? TRUE : FALSE;
}
function remove_email_injection($field = FALSE) {
return (str_ireplace(array("\r", "\n", "%0a", "%0d", "Content-Type:", "bcc:","to:","cc:"), '', $field));
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>Contact Form</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link href="wp-content/uploads/2013/07/contact/contact/css/contact.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/mootools/1.3.0/mootools-yui-compressed.js"></script>
<script type="text/javascript" src="wp-content/uploads/2013/07/contact/contact/validation/validation.js"></script>
<script type="text/javascript">
var nameError = '<?php echo $error_messages['fullname']; ?>';
var subjectError = '<?php echo $error_messages['subject']; ?>';
var commentError = '<?php echo $error_messages['comment']; ?>';
var emailError = '<?php echo $error_messages['email']; ?>';
function MM_preloadImages() { //v3.0
var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}
</script>
</head>
<body onload="MM_preloadImages('contact/images/x.png')">
<div id="formWrap">
<div id="form">
<?php if($form_complete === FALSE): ?>
<form action="#contact" method="post" id="comments_form">
<div class="row">
<div class="label">Name:</div><!--end .label -->
<div class="input">
<input type="text" id="fullname" class="datail" name="fullname" value="<?php echo isset($_POST['fullname'])? $_POST['fullname'] : ''; ?>" /><?php if(in_array('fullname', $validation)): ?><span class="error"><?php echo $error_messages['fullname']; ?></span><?php endif; ?>
</div><!--end input -->
<div class="context"></div><!--end .context -->
</div><!--end .row -->
<div class="row">
<div class="label">Subject:</div><!--end .label -->
<div class="input">
<input type="text" id="subject" class="datail" name="subject" value="<?php echo isset($_POST['subject'])? $_POST['subject'] : ''; ?>" /><?php if(in_array('subject', $validation)): ?><span class="error"><?php echo $error_messages['subject']; ?></span><?php endif; ?>
</div><!--end input -->
<div class="context"></div><!--end .context -->
</div><!--end .row -->
<div class="row">
<div class="label">Message:</div><!--end .label -->
<div class="input2">
<textarea id="content" name="comment" class="mess"><?php echo isset($_POST['comment'])? $_POST['comment'] : ''; ?></textarea><?php if(in_array('comment', $validation)): ?><span class="error"><?php echo $error_messages['comment']; ?></span><?php endif; ?>
</div><!--end input -->
</div><!--end .row -->
<div class="row">
<div class="label">E-Mail</div><!--end .label -->
<div class="input">
<input type="text" id="email" class="datail" name="email" value="<?php echo isset($_POST['email'])? $_POST['email'] : ''; ?>" /><?php if(in_array('email', $validation)): ?><span class="error"><?php echo $error_messages['email']; ?></span><?php endif; ?>
</div><!--end input -->
<div class="context"></div><!--end .context -->
</div><!--end .row -->
<div class="submit">
<input type="submit" id="submit" name="submit" value="Submit" />
</div><!--end .submit -->
</form>
<?php else: ?>
<p style="text-align: left;">Thank you for your Message!</p>
<script type="text/javascript">
setTimeout('ourRedirect()', 3000)
function ourRedirect(){
location.href='http://www.wordpress-works.bplaced.net/Contact/contact.php'
}
</script>
<?php endif; ?>
</div><!--end form -->
</div><!--end formWrap -->
</body>
</html>
Validation.js:
Code:
window.addEvent('domready', function() {
// Get the form
var form = $('comments_form');
// if the form is found...
if (form) {
// obtain error fields
var name = $('fullname');
var email = $('email');
var comment = $('comment');
// Set the default status
var isValid = true;
// input error function for the error messages
var addError = function (field, msg) {
field.addClass('error'); // Add error class to field
var error = field.getParent().getElement('span') || new Element('span', {'class': 'error'}); // add error message if not already placed
error.set('text', msg); // error text msg
error.inject(field, 'after'); // Insert error message after field
};
// detach error function used to delete any error messages and remove the error class
var removeError = function (field) {
field.removeClass('error'); // Remove error class from form fields
var error = field.getParent().getElement('span'); // find any existing error messages
// destroy if error message
if (error) {
error.destroy();
}
};
// insert submit form event
form.addEvent('submit', function (e) {
// Test name length
if (name.get('value').length === 0) {
isValid = false;
addError(name, nameError);
} else {
isValid = true;
removeError(name);
}
// check email length
if (email.get('value').length === 0) {
isValid = false;
addError(email, emailError);
// check email validity
} else if (!email.get('value').test(/^([a-zA-Z0-9\+_\-]+)(\.[a-zA-Z0-9\+_\-]+)*@([a-zA-Z0-9\-]+\.)+[a-zA-Z]{2,6}$/)) {
isValid = false;
addError(email, emailError);
} else {
isValid = true;
removeError(email);
}
// check comment length
if (comment.get('value').length === 0) {
isValid = false;
addError(comment, commentError);
} else {
isValid = true;
removeError(comment);
}
// If form invalid then stop event happening
if (!isValid) {
e.stop();
}
});
}
});
Ich habe letztendlich mit hilfe eines Tutorials erstellt und etwas angepasst das Subject noch eingefügt ist. Außerdem habe ich das script über Wordpress und einem PHP Plugin eingebunden. Ohne das Plugin kann ich keine php Dateien in Seiten oder Artikel einbinden. Ansonst habe ich noch was am Design geändert. Damit Ihr wisst woran es vielleicht liegen könnte.
Vielen Dank!
Zuletzt bearbeitet von einem Moderator: