• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

Fehler in einem Kontaktforumular

mario_blank

New member
PHP:
// ACTION: contact_submit
function action_contact_submit() {
  global $Blogger, $_POST;
  $contact_name = $_POST["contact_name"];
  $contact_email = $_POST["contact_email"];
  $contact_message = $_POST["contact_message"];
  $title = "Nachricht von: $contact_name";
  $body = $contact_message;
  $additional = "-f somewhere@gmx.net";
  // headers
  $headers = "From: $contact_email\n";
  $headers .= "Reply-To: $contact_email\n";
  $headers .= "MIME-Version: 1.0\n";
  $headers .= "Content-Type: text/plain; charset=iso-8859-1\n";
  // send it
  mail($Blogger->getPreference("email"), $title, $body, $headers, $additional);
  	delegate("contact");
    showMessage("Deine Nachricht wurde an " . $Blogger->getPreference("name") . " gesendet.");
}

Sieht da wer einen Fehler?
Irgendwie kommen die nachrichten nicht an!

danke und lg
mario
 
Einzelne Variablen mal per echo ausgeben lassen und schauen, ob da alles richtig ist.
Und natürlich in PHP alle Warnungen/Fehler ausgeben lassen.
 
habe mir alle variablen echoen lassen! und da stimmt anscheinend alles. habe aber sonst noch einen kleinen fehler im kontaktforumal entdeckt!

PHP:
function validateEmail(email) {
	     var v = new RegExp(/^[\w]+@[\w]+\.[\w]{2,4}$/);
	    	if (!v.test(email)) { 
	        return false;
	    } else {
	        return true;
	    }
	}	
	function submitForm(form) {
	    var email = document.forms[0].elements["contact_email"].value;
	    if(!validateEmail(email)) {
	        alert("Bitte geben Sie eine valide E-Mail Adresse ein.");
	        return false;
	    }
	    document.forms[0].submit();
	}

beim validieren der email adresse tritt ein fehler auf wenn die email aus ZWEI WÖRTERN durch einen PUNKT getrennt vorkommen! also... max.mustermann@somewhere.com funktioniert nicht! sieht da wer einen fehler im RegExp??

das hilft mir vorerst auch schon mal weiter! danke und lg!
 
ich glaube so klappts! new RegExp(/^[\w]+\.?[\w]+@[\w]+\.[\w]{2,4}$/);
danke!

und in meinem kontaktformular sieht sonst keiner einen fehler, oder?
irgendwie kommt da nichts an! obwohl, alle variablen mit echo richtig ausgegeben werden!
 
also wenn ich mir alle variablen ausgeben lasse, dann scheint echt alles in ordung:

PHP:
// ACTION: contact_submit
function action_contact_submit() {
  global $Blogger, $_POST;
  $contact_name = $_POST["contact_name"];
  $contact_email = $_POST["contact_email"];
  $contact_message = $_POST["contact_message"];
  $title = "Nachricht von: $contact_name";
  $body = $contact_message;
  $additional = "-f somewhere@gmx.net";
  // headers
  $headers = "From: $contact_email\n";
  $headers .= "Reply-To: $contact_email\n";
  $headers .= "MIME-Version: 1.0\n";
  $headers .= "Content-Type: text/plain; charset=iso-8859-1\n";
  // send it
  mail($Blogger->getPreference("email"), $title, $body, $headers, $additional);
  echo($Blogger->getPreference("email"));
  echo($title);
  echo($body);
  echo($headers);
  echo($additional);
  showMessage("Deine Nachricht wurde an " . $Blogger->getPreference("name") . " gesendet.");
}

die echo ausgabe sieht so aus:

PHP:
meine@emailadresse.comNachricht von: testtestFrom: test@gmx.net Reply-To: test@gmx.net MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 -f somewhere@gmx.net

??? versteh das nicht!
 
Also zu deinem Problem mit den RegExp:
1. Validierung nur in JS ist keine gute Idee - bedenke deaktiviertes JS
2. Mir gefällt die RegExp nicht besonders - zwei Punkte: was ist mit z.B. info@test-online.de und was mit z.B. info@anyURL.co.uk

Was dein Mailproblem ist kann ich nicht wirklich nachvollziehen. Es könnte nur sein, dass sendmail irgendwie nicht funktioniert. Lass doch mal das Beispiel von PHP zur mail-Funktion laufen und schau' ob's damit geh
 
Puh - k.A. ich hab' mir da noch nie so wahnsinnig viele Gedanken drüber gemacht - ich verwende immer /.+@.+\..+/ - Miminalversion hald.
 
Zurück
Oben