Hallo,
vielleicht kann mir jemand helfen:
Habe mit dem normalen Formular-Element und nachher mit mailformplus versucht ein Formular zu erstellen. Dieses ruft eine Zielseite auf. Da ich aber nicht dahin gekommen bin, dass diese Zielseite im selben Fenster geöffnet wird (_self), habe ich versucht mit dem html-Element jeweils eine Seite zu erstellen.
Hier der Code der Formularseite (mit javascript zum überprüfen der unbedingten Formularfelder):
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<title>Unbenanntes Dokument</title>
<script language="JavaScript" type="text/JavaScript">
<!--
var textNoCheck = "formElementName!='mitteilung' && formElementName!='strasse' && formElementName!='ort'"
withSubCheck = true;
missingText = "Sie haben vergessen, ein Feld auszufüllen!\n\nDieses Feld wurde besonders gekennzeichnet.\n\nBitte tragen sie dort den fehlenden Inhalt ein!";
missingMail = "Sie haben keine gültige E-Mail Adresse eingetragen!";
missingOption = "Sie haben vergessen, ein Kontaktwerk auszuwählen!";
missing = "*fehlt*";
newEntry = "*neu eingeben*";
choose = "*auswahl*";
function checkForm(){
formElementsCount = document.form1.elements.length;
for(i=0; i<formElementsCount; i++){
formElementName = document.form1.elements[i].name;
if(eval(textNoCheck)){
formElement = document.form1.elements[i];
if(formElement.value=="" || formElement.value==missing){
if(formElement.type=="text" || formElement.type=="textarea"){
alert(missingText);
formElement.focus();
if(document.all || document.getElementById){
formElement.blur();
formElement.value=missing;
formElement.onclick = clean;
}
return false;
}
}
}
}
if(withSubCheck)
return startSubCheck();
}
function checkMailAddress(){
dofem = document.form1.mail
expression = /.+@.+\.{1,}[a-zA-Z]{2,}/;
if(!expression.exec(dofem.value)){
alert(missingMail);
dofem.focus();
if(document.all || document.getElementById){
dofem.blur();
dofem.value = newEntry;
dofem.onclick = clean;
}
return false;
}
}
function checkOptions(){
var formElementsCount = document.form1.elements.length;
for(i=0; i<formElementsCount; i++){
if(document.form1.elements[i].type=="select-one"){
selectedIndex = document.form1.elements[i].options.selectedIndex;
if(document.form1.elements[i].options[selectedIndex].text=="" ||
document.form1.elements[i].options[selectedIndex].text==choose){
document.form1.elements[i].focus();
document.form1.elements[i].options[selectedIndex].text=choose;
alert(missingOption);
return false;
}
}
}
}
function clean(){
this.value="";
}
function startSubCheck(){
cm = checkMailAddress();
if(cm==false){
return false;
}else{
co = checkOptions();
if(co==false){
return false;
}
}
}
function MM_callJS(jsStr) { //v2.0
return eval(jsStr)
}
//-->
</script>
</head>
<body>
<table>
<tr><td><br>
<form name="form1" action="index.php?id=kontakt-best" method="post" target="_self" onSubmit="return checkForm();">
<div>
<div>Mitteilung:</div>
<textarea name="mitteilung" cols="80" rows="5"></textarea>
</div>
<div><div>Name<font color="#E2001A">*</font></div>
<input type="text" name="name" size="80" value="" /></div>
<div><div>Vorname<font color="#E2001A">*</font> </div>
<input type="text" name="vorname" size="80" value="" /></div>
<div><div>Strasse</div>
<input type="text" name="strasse" size="80" value="" /></div>
<div><div>PLZ/Ort</div> <input type="text" name="ort" size="80" value="" /></div>
<div><div>E-Mail <font color="#E2001A">*</font></div>
<input type="text" name="mail" size="80" value="" /></div>
<<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<title>Unbenanntes Dokument</title>
<script language="JavaScript" type="text/JavaScript">
<!--
var textNoCheck = "formElementName!='mitteilung' && formElementName!='strasse' && formElementName!='ort'"
withSubCheck = true;
missingText = "Sie haben vergessen, ein Feld auszufüllen!\n\nDieses Feld wurde besonders gekennzeichnet.\n\nBitte tragen sie dort den fehlenden Inhalt ein!";
missingMail = "Sie haben keine gültige E-Mail Adresse eingetragen!";
missingOption = "Sie haben vergessen, ein Kontaktwerk auszuwählen!";
missing = "*fehlt*";
newEntry = "*neu eingeben*";
choose = "*auswahl*";
function checkForm(){
formElementsCount = document.form1.elements.length;
for(i=0; i<formElementsCount; i++){
formElementName = document.form1.elements[i].name;
if(eval(textNoCheck)){
formElement = document.form1.elements[i];
if(formElement.value=="" || formElement.value==missing){
if(formElement.type=="text" || formElement.type=="textarea"){
alert(missingText);
formElement.focus();
if(document.all || document.getElementById){
formElement.blur();
formElement.value=missing;
formElement.onclick = clean;
}
return false;
}
}
}
}
if(withSubCheck)
return startSubCheck();
}
function checkMailAddress(){
dofem = document.form1.mail
expression = /.+@.+\.{1,}[a-zA-Z]{2,}/;
if(!expression.exec(dofem.value)){
alert(missingMail);
dofem.focus();
if(document.all || document.getElementById){
dofem.blur();
dofem.value = newEntry;
dofem.onclick = clean;
}
return false;
}
}
function checkOptions(){
var formElementsCount = document.form1.elements.length;
for(i=0; i<formElementsCount; i++){
if(document.form1.elements[i].type=="select-one"){
selectedIndex = document.form1.elements[i].options.selectedIndex;
if(document.form1.elements[i].options[selectedIndex].text=="" ||
document.form1.elements[i].options[selectedIndex].text==choose){
document.form1.elements[i].focus();
document.form1.elements[i].options[selectedIndex].text=choose;
alert(missingOption);
return false;
}
}
}
}
function clean(){
this.value="";
}
function startSubCheck(){
cm = checkMailAddress();
if(cm==false){
return false;
}else{
co = checkOptions();
if(co==false){
return false;
}
}
}
function MM_callJS(jsStr) { //v2.0
return eval(jsStr)
}
//-->
</script>
</head>
<body><table><tr><td><br><form name="form1" action="index.php?id=kontakt-best" method="post" target="_self" onSubmit="return checkForm();">
<div><div>Mitteilung: </div><textarea name="mitteilung" cols="80" rows="5"></textarea></div>
<div><div>Name <font color="#E2001A">*</font> </div><input type="text" name="name" size="80" value="" /></div>
<div><div>Vorname <font color="#E2001A">*</font> </div> <input type="text" name="vorname" size="80" value="" /></div>
<div><div>Strasse </div> <input type="text" name="strasse" size="80" value="" /></div>
<div><div>PLZ/Ort </div> <input type="text" name="ort" size="80" value="" /></div>
<div><div>E-Mail <font color="#E2001A">*</font> </div> <input type="text" name="mail" size="80" value="" /></div>
<div><input name="submit" type="submit" value="Abschicken"> <input name="reset" type="reset" value="Löschen"></div></form>
</td></tr></table></body>
</html>div><input name="submit" type="submit" value="Abschicken"> <input name="reset" type="reset" value="Löschen"></div></form>
</td></tr></table></body>
</html>
der Code des HTML-Elements der Zielseite ist folgender:
<?php
$mail_empfaenger="meineadresse@bluewin.ch";
$betreff="Kontakt HN-Webseite";
$nachname=$HTTP_POST_VARS['name'];
$vorname=$HTTP_POST_VARS['vorname'];
$adresse=$HTTP_POST_VARS['strasse'];
$ort=$HTTP_POST_VARS['ort'];
$mail=$HTTP_POST_VARS['mail'];
$frage=$HTTP_POST_VARS['mitteilung'];
{
$mailtext.=" Name: ";
$mailtext.=$nachname;
$mailtext.="\n";
$mailtext.=" Vorname: ";
$mailtext.=$vorname;
$mailtext.="\n";
$mailtext.="Adresse: ";
$mailtext.=$adresse;
$mailtext.="\n";
$mailtext.="Ort: ";
$mailtext.=$ort;
$mailtext.="\n";
$mailtext.="E-Mail-Adresse: ";
$mailtext.=$mail;
$mailtext.="\n";
$mailtext.="Mitteilung: ";
$mailtext.=$frage;
$mailtext.="\n";
mail($mail_empfaenger, $betreff, $mailtext,"from:$mail");
}
?>
<table width="550">
<tr>
<td>
<h1>Danke</h1>
<h3>Ihre Kontaktnahme ist bei uns eingetroffen</h3>
Wir bearbeiten Ihre Mitteilung so rasch wie möglich.
</td>
</tr>
</table>
Das Problem ist nun, dass zwar die Zielseite korrekt aufgerufen wird, aber die Mail kommt nicht an!
Wo liegt da mein Denkfehler?