Hallo zusammen,
ich brauche dringend eure Hilfe! Ich habe vor ein Website Template zu benutzen und auch das darin eingebaute Kontaktformular. Leider habe ich keine Ahnung wie ich dieses zum laufen bekomme, ich hoffe ihr könnt mir helfen. Ich poste mal alles was damit zu tun hat.
in der Index.html
In der form.js
in Mailhandler.php
in MailHandler.ashx
Das war's eigentlich. Beim Rest kann ich mir nicht zusammen reimen...
Nun meine Frage wie bekomme ich sowas ans laufen? Habe schon verzweifelt nach einem "mailto" oder mailsent" Begriff gesucht also irgendwo wo ich meine Emailadresse eingeben kann.
Ich wäre euch sehr sehr Dankbar!
ich brauche dringend eure Hilfe! Ich habe vor ein Website Template zu benutzen und auch das darin eingebaute Kontaktformular. Leider habe ich keine Ahnung wie ich dieses zum laufen bekomme, ich hoffe ihr könnt mir helfen. Ich poste mal alles was damit zu tun hat.
in der Index.html
Code:
<form action="#" id="ContactForm"> <div class="success"> Contact form submitted! We will be in touch soon.</div> <fieldset class="left"> <div class="block"> <label class="name padRight3"> <span class="title1">Name:</span> <span class="bg"><input type="text" value="" class="input"></span> <span class="error">*This is not a valid name.</span> <span class="empty">*This field is required.</span> </label> <label class="email"> <span class="title1">Email:</span> <span class="bg"><input type="email" value="" class="input"></span> <span class="error">*This is not a valid email address.</span> <span class="empty">*This field is required.</span></label> <label class="phone"> <span class="title1">Phone:</span> <span class="bg"><input type="tel" value="" class="input"></span> <span class="error">*This is not a valid number.</span> <span class="empty">*This field is required.</span> </label> </div> <div class="block"> <label class="message"> <span class="title1">Message:</span> <span class="bg"><textarea rows="1" cols="2"></textarea></span> <span class="error">*The message is too short.</span> <span class="empty">*This field is required.</span> </label> </div> <div class="formButtons"> <div class="formBtn"> <a href="#" data-type="submit" class="moreButton">Send</a> </div> <div class="formBtn"> <a href="#" data-type="reset" class="moreButton">Clear</a> </div> </div> </fieldset> </form> </div>
Code:
//forms ;(function($){ $.fn.forms=function(o){ return this.each(function(){ var th=$(this) ,_=th.data('forms')||{ errorCl:'error', emptyCl:'empty', invalidCl:'invalid', notRequiredCl:'notRequired', successCl:'success', successShow:'4000', mailHandlerURL:'bin/MailHandler.php', ownerEmail:'#', stripHTML:true, smtpMailServer:'localhost', targets:'input,textarea', controls:'a[data-type=reset],a[data-type=submit]', validate:true, rx:{ ".name":{rx:/^[a-zA-Z'][a-zA-Z-' ]+[a-zA-Z']?$/,target:'input'}, ".state":{rx:/^[a-zA-Z'][a-zA-Z-' ]+[a-zA-Z']?$/,target:'input'}, ".email":{rx:/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i,target:'input'}, ".phone":{rx:/^\+?(\d[\d\-\+\(\) ]{5,}\d$)/,target:'input'}, ".fax":{rx:/^\+?(\d[\d\-\+\(\) ]{5,}\d$)/,target:'input'}, ".message":{rx:/.{20}/,target:'textarea'} }, preFu:function(){ _.labels.each(function(){ var label=$(this), inp=$(_.targets,this), defVal=inp.val(), trueVal=(function(){ var tmp=inp.is('input')?(tmp=label.html().match(/value=['"](.+?)['"].+/),!!tmp&&!!tmp[1]&&tmp[1]):inp.html() return defVal==''?defVal:tmp })() trueVal!=defVal &&inp.val(defVal=trueVal||defVal) label.data({defVal:defVal}) inp .bind('focus',function(){ inp.val()==defVal &&(inp.val(''),_.hideEmptyFu(label),label.removeClass(_.invalidCl)) }) .bind('blur',function(){ _.validateFu(label) if(_.isEmpty(label)) inp.val(defVal) ,_.hideErrorFu(label.removeClass(_.invalidCl)) }) .bind('keyup',function(){ label.hasClass(_.invalidCl) &&_.validateFu(label) }) label.find('.'+_.errorCl+',.'+_.emptyCl).css({display:'block'}).hide() }) _.success=$('.'+_.successCl,_.form).hide() }, isRequired:function(el){ return !el.hasClass(_.notRequiredCl) }, isValid:function(el){ var ret=true $.each(_.rx,function(k,d){ if(el.is(k)) ret=d.rx.test(el.find(d.target).val()) }) return ret }, isEmpty:function(el){ var tmp return (tmp=el.find(_.targets).val())==''||tmp==el.data('defVal') }, validateFu:function(el){ el.each(function(){ var th=$(this) ,req=_.isRequired(th) ,empty=_.isEmpty(th) ,valid=_.isValid(th) if(empty&&req) _.showEmptyFu(th.addClass(_.invalidCl)) else _.hideEmptyFu(th.removeClass(_.invalidCl)) if(!empty) if(valid) _.hideErrorFu(th.removeClass(_.invalidCl)) else _.showErrorFu(th.addClass(_.invalidCl)) }) }, getValFromLabel:function(label){ var val=$('input,textarea',label).val() ,defVal=label.data('defVal') return label.length?val==defVal?'nope':val:'nope' } ,submitFu:function(){ _.validateFu(_.labels) if(!_.form.has('.'+_.invalidCl).length) $.ajax({ type: "POST", url:_.mailHandlerURL, data:{ name:_.getValFromLabel($('.name',_.form)), email:_.getValFromLabel($('.email',_.form)), phone:_.getValFromLabel($('.phone',_.form)), fax:_.getValFromLabel($('.fax',_.form)), state:_.getValFromLabel($('.state',_.form)), message:_.getValFromLabel($('.message',_.form)), owner_email:_.ownerEmail, stripHTML:_.stripHTML }, success: function(){ _.showFu() } }) }, showFu:function(){ _.success.slideDown(function(){ setTimeout(function(){ _.success.slideUp() _.form.trigger('reset') },_.successShow) }) }, controlsFu:function(){ $(_.controls,_.form).each(function(){ var th=$(this) th .bind('click',function(){ _.form.trigger(th.data('type')) return false }) }) }, showErrorFu:function(label){ label.find('.'+_.errorCl).slideDown() }, hideErrorFu:function(label){ label.find('.'+_.errorCl).slideUp() }, showEmptyFu:function(label){ label.find('.'+_.emptyCl).slideDown() _.hideErrorFu(label) }, hideEmptyFu:function(label){ label.find('.'+_.emptyCl).slideUp() }, init:function(){ _.form=_.me _.labels=$('label',_.form) _.preFu() _.controlsFu() _.form .bind('submit',function(){ if(_.validate) _.submitFu() else _.form[0].submit() return false }) .bind('reset',function(){ _.labels.removeClass(_.invalidCl) _.labels.each(function(){ var th=$(this) _.hideErrorFu(th) _.hideEmptyFu(th) }) }) _.form.trigger('reset') } } _.me||_.init(_.me=th.data({forms:_})) typeof o=='object' &&$.extend(_,o) }) } })(jQuery) $(window).load(function() { $('#ContactForm').forms({ ownerEmail:'#' }); });
PHP-Code:
<?php
$owner_email = $_POST["owner_email"];
$headers = 'From:' . $_POST["email"];
$subject = 'A message from your site visitor ' . $_POST["name"];
$messageBody = "";
if($_POST['name']!='nope'){
$messageBody .= '<p>Visitor: ' . $_POST["name"] . '</p>' . "\n";
$messageBody .= '<br>' . "\n";
}
if($_POST['email']!='nope'){
$messageBody .= '<p>Email Address: ' . $_POST['email'] . '</p>' . "\n";
$messageBody .= '<br>' . "\n";
}else{
$headers = '';
}
if($_POST['state']!='nope'){
$messageBody .= '<p>State: ' . $_POST['state'] . '</p>' . "\n";
$messageBody .= '<br>' . "\n";
}
if($_POST['phone']!='nope'){
$messageBody .= '<p>Phone Number: ' . $_POST['phone'] . '</p>' . "\n";
$messageBody .= '<br>' . "\n";
}
if($_POST['fax']!='nope'){
$messageBody .= '<p>Fax Number: ' . $_POST['fax'] . '</p>' . "\n";
$messageBody .= '<br>' . "\n";
}
if($_POST['message']!='nope'){
$messageBody .= '<p>Message: ' . $_POST['message'] . '</p>' . "\n";
}
if($_POST["stripHTML"] == 'true'){
$messageBody = strip_tags($messageBody);
}
try{
if(!mail($owner_email, $subject, $messageBody, $headers)){
throw new Exception('mail failed');
}else{
echo 'mail sent';
}
}catch(Exception $e){
echo $e->getMessage() ."\n";
}
?>
Code:
<%@ WebHandler Language="C#" Class="Handler" Debug="true" %> using System; using System.Web; using System.Net.Mail; using System.Text.RegularExpressions; public class Handler : IHttpHandler { public void ProcessRequest (HttpContext context) { SmtpClient mailClient = new SmtpClient(context.Request.Form.Get("smtpMailServer")); string owner_email = context.Request.Form.Get("owner_email"); string subject = "A message from your site visitor " + context.Request.Form.Get("name"); string email = context.Request.Form.Get("email"); string messageBody = ""; messageBody += "<p>Visitor: " + context.Request.Form.Get("name") + "</p>\n"; messageBody += "<br>\n"; messageBody += "<p>Email Address: " + context.Request.Form.Get("email") + "</p>\n"; messageBody += "<br>\n"; messageBody += "<p>Phone Number: " + context.Request.Form.Get("phone") + "</p>\n"; messageBody += "<br>\n"; messageBody += "<p>Message: " + context.Request.Form.Get("message") + "</p>\n"; MailMessage message = new MailMessage(); try{ message.From = new MailAddress(email.ToString()); }catch (FormatException e) { context.Response.Write(e.Message); } message.To.Add(owner_email); message.Subject = subject; if(context.Request.Form.Get("stripHTML") == "true"){ message.IsBodyHtml = false; messageBody = Regex.Replace(messageBody, "<.*?>", string.Empty); }else{ message.IsBodyHtml = true; } message.Body = messageBody; try{ mailClient.Send(message); }catch (SmtpException e) { context.Response.Write("mail failed"); } context.Response.Write("mail sent"); } public bool IsReusable { get { return false; } } }
Nun meine Frage wie bekomme ich sowas ans laufen? Habe schon verzweifelt nach einem "mailto" oder mailsent" Begriff gesucht also irgendwo wo ich meine Emailadresse eingeben kann.
Ich wäre euch sehr sehr Dankbar!

Kommentar