---
title: "Formular in HTML und PHP"
url: "https://www.typo3.net/d/64477-formular-in-html-und-php"
source: "typo3.net"
tags: ["Extensions","Frage"]
created: "2007-06-26"
last_reply: "2007-06-26"
replies: 2
solved: false
page: 1
pages: 1
lang: "de"
---

# Formular in HTML und PHP

Extensions · 2 Antworten · gestartet 2007-06-26

## Eröffnungsbeitrag

**dursus** · 2007-06-26 · [Beitrag #1](https://www.typo3.net/d/64477-formular-in-html-und-php/1)

**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>

```javascript
<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: &nbsp;&nbsp;&nbsp;&nbsp;</div><textarea name="mitteilung" cols="80" rows="5"></textarea></div>
<div><div>Name <font color="#E2001A">*</font> &nbsp;&nbsp;&nbsp;&nbsp;</div><input type="text" name="name" size="80" value="" /></div>
<div><div>Vorname <font color="#E2001A">*</font> &nbsp;&nbsp;&nbsp;&nbsp;</div> <input type="text" name="vorname" size="80" value="" /></div>
<div><div>Strasse &nbsp;&nbsp;&nbsp;&nbsp;</div> <input type="text" name="strasse" size="80" value="" /></div>
<div><div>PLZ/Ort &nbsp;&nbsp;&nbsp;&nbsp;</div> <input type="text" name="ort" size="80" value="" /></div>
<div><div>E-Mail <font color="#E2001A">*</font> &nbsp;&nbsp;&nbsp;&nbsp;</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&ouml;schen"></div></form>
</td></tr></table></body>
</html>div><input name="submit" type="submit" value="Abschicken"> <input name="reset" type="reset" value="L&ouml;schen"></div></form>
</td></tr></table></body>
</html>

**der Code des HTML-Elements der Zielseite ist folgender:**

```php
<?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?**

## Antworten

### [#2](https://www.typo3.net/d/64477-formular-in-html-und-php/2) · just2b · 2007-06-26

das in die **Constants** und du hast alles im gleichen Fenster:

```typoscript
PAGE_TARGET = 
content.pageFrameObj =
styles.content.links.extTarget = 
styles.content.mailform.target = 
styles.content.searchresult.resultTarget = 
styles.content.links.target = 
styles.content.searchresult.target =
```

oder ist das nicht das was du willst?

### [#3](https://www.typo3.net/d/64477-formular-in-html-und-php/3) · dursus · 2007-06-26

Danke just2b

hat ja schon genügt das "PAGE_TARGET = _self" in die Constants zu schreiben und mein ursprüngliches Problem ist gelöst  :)
Manchmal sucht man die Lösung in der Ferne und dabei liegt es vor der Tür...

Danke nochmals

dursus

PS: Habe auch gleich gemerkt, dass ich noch mehr übr die Constants-Einstellungen lernen sollte...

---

Quelle: „Formular in HTML und PHP“, typo3.net, https://www.typo3.net/d/64477-formular-in-html-und-php
Beiträge von Mitgliedern des Forums. Bitte mit Link auf die Diskussion zitieren.
