zurück zur Startseite
  


Zurück XHTMLforum > Webentwicklung (außer XHTML und CSS) > Javascript & Ajax
Seite neu laden PHP mail() formular mit Ajax validieren und abschicken

Antwort
 
LinkBack Themen-Optionen Ansicht
  #1 (permalink)  
Alt 03.03.2011, 15:59
xml xml ist offline
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 26.04.2010
Beiträge: 8
xml befindet sich auf einem aufstrebenden Ast
Standard PHP mail() formular mit Ajax validieren und abschicken

Moin!

ich habe ein simples php mail() forumular (process.php)

PHP-Code:
<?php
  $emailTo 
'meine@domain.de';
  
$subject 'Kontaktanfrage';  
  
$name=$_REQUEST['name'];
  
$email=$_REQUEST['email'];
  
$msg=$_REQUEST['msg'];
 
  
$body "Name: $name \n\nEmail: $email \n\nMessage: $msg";
  
$headers 'From: '.$name.' <'.$email.'>' "\r\n" 'Reply-To: ' $email;
 
  
mail($emailTo$subject$body$headers);
?>
welches durch eine contact.js validiert und auch abgeschickt wird:

Code:
jQuery(function() {
  jQuery('.error').hide();
  jQuery(".but").click(function() {
    // validate and process form
    // first hide any error messages
    jQuery('.error').hide();
   
    var name = jQuery("input#name").val();
    if (name == "") {
      jQuery("span#name_error").show();
      jQuery("input#name").focus();
      return false;
    }
    var email = jQuery("input#email").val();
    if (email == "") {
      jQuery("span#email_error").show();
      jQuery("input#email").focus();
      return false;
    }
 
  var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
  if(!emailReg.test(email)) {
  jQuery("span#email_error2").show();
    jQuery("input#email").focus();
      return false;
  }
 
    var msg = jQuery("textarea#msg").val();
    if (msg == "") {
    jQuery("span#msg_error").show();
    jQuery("textarea#msg").focus();
    return false;
    }
   
    var dataString = 'name='+ name + '&email=' + email + '&msg=' + msg;
    //alert (dataString);return false;
   
    jQuery.ajax({
      type: "POST",
      url: "process.php",
      data: dataString,
      success: function() {
        jQuery('#contact_form').html("<div id='message'></div>");
        jQuery('#message').html("<strong>Contact Form Submitted!</strong>")
        .append("<p>We will be in touch soon.</p>")
        .hide()
        .fadeIn(1500, function() {
          jQuery('#message');
        });
      }
     });
    return false;
  });
});
Mein Problem: ich verstehe von PHP und JS nicht wirklich viel und darum kann ich mein eigentliches Problem auch nicht lösen

Ich möchte dem php mail() formular ein weiteres Feld hinzufügen z.B. "Vorname", welches aber NICHT validiert werden muss und demnach leer sein könnte.

Der php-Datei habe ich dafür versucht die Zeile
PHP-Code:
$vorname=$_POST['vorname']; 
bzw.
PHP-Code:
$vorname=$_GET['vorname']; 
hinzu zu fügen, aber auch wenn ein user das Feld Vorname ausfüllt kommt dieses unausgefüllt in der E-Mail an.

Müsste die PHP-Zeite ggf. anders aussehen oder ist noch eine Zeile Code in der JS-Datei nötig?

Danke!
Mit Zitat antworten
Sponsored Links
  #2 (permalink)  
Alt 03.03.2011, 19:44
Benutzerbild von uspri
Erfahrener Benutzer
XHTMLforum-Mitglied
 
Registriert seit: 04.07.2005
Beiträge: 900
uspri sorgt für eine eindrucksvolle Atmosphäreuspri sorgt für eine eindrucksvolle Atmosphäre
Standard

Du musst dem JS sagen, wass es per Ajax übermitteln soll:

var vorname = jQuery("input#vorname").val();
...
var dataString = 'name='+ name + '&vorname=' + vorname + '&email=' + email + '&msg=' + msg;
Mit Zitat antworten
Sponsored Links
  #3 (permalink)  
Alt 03.03.2011, 20:13
xml xml ist offline
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 26.04.2010
Beiträge: 8
xml befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von uspri Beitrag anzeigen
Du musst dem JS sagen, wass es per Ajax übermitteln soll:

var vorname = jQuery("input#vorname").val();
...
var dataString = 'name='+ name + '&vorname=' + vorname + '&email=' + email + '&msg=' + msg;
Super, dass hat soweit funktioniert! Vielen Dank!

Geändert von xml (03.03.2011 um 20:16 Uhr)
Mit Zitat antworten
Antwort

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Ajax: php formular absenden und ergebnisse auf selbe seite in div laden? sepp88 Javascript & Ajax 35 23.03.2010 10:17
Ajax - Datenbanksbruf: ASP Datei mit PHP code füllen? braindead Javascript & Ajax 3 19.10.2009 13:35
Ajax - Php: Alle Formulardaten trotz Tabs speichern HaraldMenza Javascript & Ajax 0 18.12.2008 12:34
Dateien auslagern - Include und PHP ArcVieh Serveradministration und serverseitige Scripte 17 27.03.2008 18:09
Ajax Formular mit Weiche? Zen5656 Javascript & Ajax 7 04.10.2007 17:28


Alle Zeitangaben in WEZ +2. Es ist jetzt 01:57 Uhr.