Musterkontakformular.?

  • Hi Leute,
    habe mir ein Kontaktformular als Vorlage "geschrieben". Könnt ihr es bitte auf seine "Perfektion" prüfen? Mir sagen was man besser machen könnte?


    Danke im vorraus


    drPhip132
    -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    index.php

    PHP
    <span class="syntaxhtml"><br /><span class="syntaxdefault"><?php<br /></span><span class="syntaxkeyword">if(</span><span class="syntaxdefault"> $_POST</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'button'</span><span class="syntaxkeyword">]</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">!=</span><span class="syntaxdefault"> </span><span class="syntaxstring">""</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">)<br /></span><span class="syntaxcomment">#wurde der submit button gedrückt?<br />#wenn ja läuft die auswertung weiter<br />#sonst bricht es ab<br /></span><span class="syntaxkeyword">{<br /></span><span class="syntaxdefault">    </span><span class="syntaxcomment">#pflichtfelder<br /></span><span class="syntaxdefault">    $anrede         </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> $_POST</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'anrede'</span><span class="syntaxkeyword">];<br /></span><span class="syntaxdefault">    $nachname       </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> $_POST</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'nachname'</span><span class="syntaxkeyword">];<br /></span><span class="syntaxdefault">    $vorname        </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> $_POST</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'vorname'</span><span class="syntaxkeyword">];<br /></span><span class="syntaxdefault">    $strasse        </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> $_POST</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'strasse'</span><span class="syntaxkeyword">];<br /></span><span class="syntaxdefault">    $plz            </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> $_POST</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'plz'</span><span class="syntaxkeyword">];<br /></span><span class="syntaxdefault">    $email          </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> $_POST</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'email'</span><span class="syntaxkeyword">];<br /></span><span class="syntaxdefault">    $nachricht      </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> $_POST</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'nachricht'</span><span class="syntaxkeyword">];<br /><br /></span><span class="syntaxdefault">    </span><span class="syntaxcomment">#freiwillige felder<br /></span><span class="syntaxdefault">    $firma          </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> $_POST</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'firma'</span><span class="syntaxkeyword">];<br /></span><span class="syntaxdefault">    $telefon        </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> $_POST</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'telefon'</span><span class="syntaxkeyword">];<br /><br /><br /></span><span class="syntaxdefault">    if</span><span class="syntaxkeyword">(</span><span class="syntaxdefault"> $_POST</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'button'</span><span class="syntaxkeyword">]</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">!=</span><span class="syntaxdefault"> </span><span class="syntaxstring">""</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">)<br /></span><span class="syntaxdefault">    </span><span class="syntaxkeyword">{<br /></span><span class="syntaxdefault">        if</span><span class="syntaxkeyword">(</span><span class="syntaxdefault"> $anrede </span><span class="syntaxkeyword">!=</span><span class="syntaxdefault">  </span><span class="syntaxstring">""</span><span class="syntaxdefault"> AND $nachname </span><span class="syntaxkeyword">!=</span><span class="syntaxdefault"> </span><span class="syntaxstring">""</span><span class="syntaxdefault"> AND $vorname </span><span class="syntaxkeyword">!=</span><span class="syntaxdefault"> </span><span class="syntaxstring">""</span><span class="syntaxdefault"> AND $strasse </span><span class="syntaxkeyword">!=</span><span class="syntaxdefault"> </span><span class="syntaxstring">""</span><span class="syntaxdefault"> AND $plz </span><span class="syntaxkeyword">!=</span><span class="syntaxdefault"> </span><span class="syntaxstring">""</span><span class="syntaxdefault"> AND $email </span><span class="syntaxkeyword">!=</span><span class="syntaxdefault"> </span><span class="syntaxstring">""</span><span class="syntaxdefault"> AND $nachricht </span><span class="syntaxkeyword">!=</span><span class="syntaxdefault"> </span><span class="syntaxstring">""</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">)<br /></span><span class="syntaxdefault">        </span><span class="syntaxcomment">#wenn alle pflichtfelder ausgefüllt sind...<br /></span><span class="syntaxdefault">        </span><span class="syntaxkeyword">{<br /></span><span class="syntaxdefault">            $empfaenger </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> </span><span class="syntaxstring">"empf&auml;nger_email"</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">            </span><span class="syntaxcomment">#deine emailadresse hier oben<br /></span><span class="syntaxdefault">            $absender   </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> $email</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">            $betreff    </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> </span><span class="syntaxstring">"Kontakt - "</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">.</span><span class="syntaxdefault"> $anrede </span><span class="syntaxkeyword">.</span><span class="syntaxdefault"> </span><span class="syntaxstring">" "</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">.</span><span class="syntaxdefault"> $nachname </span><span class="syntaxkeyword">.</span><span class="syntaxdefault"> </span><span class="syntaxstring">", "</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">.</span><span class="syntaxdefault"> $vorname</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">            $mailtext   </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> </span><span class="syntaxstring">"Nachricht: "</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">.</span><span class="syntaxdefault"> $nachricht</span><span class="syntaxkeyword">.</span><span class="syntaxdefault"> </span><span class="syntaxstring">" | "</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">.</span><span class="syntaxdefault"> </span><span class="syntaxstring">"Firma: "</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">.</span><span class="syntaxdefault"> $firma </span><span class="syntaxkeyword">.</span><span class="syntaxdefault"> </span><span class="syntaxstring">" | "</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">.</span><span class="syntaxdefault"> </span><span class="syntaxstring">"Telefon: "</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">.</span><span class="syntaxdefault"> $telefon</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">            $antwortan  </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> </span><span class="syntaxstring">"empf&auml;nger_email"</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">                           </span><span class="syntaxcomment">#deine email<br /><br /></span><span class="syntaxdefault">            mail</span><span class="syntaxkeyword">(</span><span class="syntaxdefault"> $empfaenger</span><span class="syntaxkeyword">,<br /></span><span class="syntaxdefault">            $betreff</span><span class="syntaxkeyword">,<br /></span><span class="syntaxdefault">            $mailtext</span><span class="syntaxkeyword">,<br /></span><span class="syntaxdefault">            </span><span class="syntaxstring">"From: $absender\nReply-To: $antwortan"</span><span class="syntaxkeyword">);<br /></span><span class="syntaxdefault">        </span><span class="syntaxkeyword">}<br /></span><span class="syntaxdefault">        else<br />        </span><span class="syntaxkeyword">{<br /></span><span class="syntaxdefault">            $fehler </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> TRUE</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">            </span><span class="syntaxcomment">#irgendwo im quellcode fragen ob $fehler FALSE ist<br /></span><span class="syntaxdefault">            </span><span class="syntaxcomment">#dann an der gewünschten stelle ausgeben "bitte alle pflichtfelder ausfüllen"<br /></span><span class="syntaxdefault">            </span><span class="syntaxcomment">#oder so Ã¤hnlich<br /></span><span class="syntaxdefault">        </span><span class="syntaxkeyword">}<br /></span><span class="syntaxdefault">    </span><span class="syntaxkeyword">}<br />}<br /></span><span class="syntaxdefault">?><br /></span><!DOCTYPE html><br /><html><br /><head><br />    <title>Titel</title><br />    <meta charset="UTF-8" /><br /><br />    <link href="style.css" type="text/css" rel="stylesheet" /><br /></head><br /><br /><body><br /><br />    <form method="post" action=""><br />        <label>* Anrede:<br />            <select name="anrede" ><br />                <option value="Herr">Herr     </option><br />                <option value="Frau">Frau     </option><br />            </select><br />        </label><br /><br />        <!-- ---------------------------------------------- --><br /><br />        <label>* Nachname:<br />            <input type="text" name="nachname" /><br />        </label><br /><br />        <!-- ---------------------------------------------- --><br /><br />        <label>* Vorname:<br />            <input type="text" name="vorname" /><br />        </label><br /><br />        <!-- ---------------------------------------------- --><br /><br />        <label>Firma:<br />            <input type="text" name="firma" /><br />        </label><br /><br />       <!-- ---------------------------------------------- --><br /><br />        <label>* Stra&szlig;e / Nr:<br />            <input type="text" name="strasse" /><br />        </label><br /><br />        <!-- ---------------------------------------------- --><br /><br />        <label>* PLZ / Ort:<br />            <input type="text" name="plz" /><br />        </label><br /><br />        <!-- ---------------------------------------------- --><br /><br />        <label>Telefon:<br />            <input type="tel" name="telefon" /><br />        </label><br /><br />        <!-- ---------------------------------------------- --><br /><br />        <label>* E-Mail:<br />            <input type="email" name="email" /><br />        </label><br /><br />        <!-- ---------------------------------------------- --><br /><br />        <label>* Nachricht:<br />            <textarea name="nachricht" rows="13" cols="40"></textarea><br />        </label><br /><br />        <!-- ---------------------------------------------- --><br /><br />        <input type="submit" name="button" value="Absenden"/><br /><br />    </form><br /><br /></body><br /></html><br /></span>


    design.css

  • Okey, hier meine Bewertung/Verbesserungsvorschläge:

    • Du bist in keinsterweise gegen Mail-Injection geschützt. (Mail-Injection ist Ähnlich wie MySQL-Injection ein Vorgehen, bei dem der Anwender noch weitaus andere Sachen in das Formular mit einfließen lassen kann, als gewollt. Hierbei werden durch Mitübergebene Zeilenumbrüche einfach Benutzerdefinierte Header mitgegeben. So kann man ein Formular im besten Falle komplett so nutzen, dass es einfach nur als Schnittstelle zu Mail-Server fungiert und E-Mails nach meinen Belieben versendet. Versichere dich, dass keine Zeilenumbrüche übergeben wurden)
    • Überprüfe ob der Benutzer wenigstens eine gütlige E-Mail-Adresse eingegeben hat. PHP bietet dazu filter_var mit dem FILTER_VALIDATE_EMAIL-Filter.
    • Überprüfe nicht alle Fehler in einer if-Anweisung, sondern gehe jede Variabel durch und überprüfe Sie. So kannst du gezieltere Fehler ausgeben und genau angeben, bei welchem Feld es hackt. Sätze á la "Haha, da war ein Fehler drin, versuch es noch einmal" lesen Benutzer ungerne :P
    • Bei der Anrede frage ich persönlich immer gerne mit Radio-Buttons
    • Die Sternchen gehören eigentlich eher davor..
    • Die Inputs und Beschriftung ist vertauscht. Richtig wäre es, wenn das Floatende-Element zuerst kommt. Du schreibst ja auch nicht zuerst einen Text und lässt anschließend ein Bild Rechts floaten.
    • Deine Besucher werden das Formular 1x ausfüllen, bei einem Fehler werden Sie frustriert aufhören, da du keinerlei Nutzerdaten übernimmst.
    • <textarea> wird mittels CSS gestylt, auch die Größe.


    Gruß Dustin

  • Kleine Anmerkung: Du überprüfst, ob dein Submit-Button gedrückt wurde.. Sprich jemand der das ganze per Enter-Taste absendet, bekommt ein Problem ;)
    Ich überprüfe immer lieber ob irgendeins von den Feldern ausgefüllt ist :)


    Grüße

  • Zitat von &quot;lauras&quot;

    Kleine Anmerkung: Du überprüfst, ob dein Submit-Button gedrückt wurde.. Sprich jemand der das ganze per Enter-Taste absendet, bekommt ein Problem ;)


    Aus welchem Grund bekommt diese Person ein Problem? o.o Davon habe ich noch nie gehört.. .___. Der Browser springt meines wissens nach dann den ersten (und einzigen) Submit-Button an, den er finden kann.

  • Also ich hatte das schon öfters.. Bei mir hat sich dann einfach immer das Formular geleert.. Kann aber auch daran liegen, dass meine Buttons nicht immer submit heißen, sondern nachdem benannt werden was sie tun sollen.. Aber rein von der Logik her geht es ja darum, dass das Formular geprüft wird, wenn mindestens ein Feld ausgefüllt ist.. Sonst kommt ja ein Haufen Fehlermeldungen, wenn jemand mal nur zum Spaß auf den Button drückt oder versehentlich auf die Enter-Taste kommt..

  • Du wirst denke ich all deinen Absende-Buttons aber den Type "Submit" geben, oder? Und genau darum geht es den Browser.
    Mir ist das mit dem Absenden so noch nie passiert :/
    Und die meisten Seiten lassen es zu, dass du ein leeres Formular absendest und überprüfen dann direkt die eingaben. Es ist die einfachste Lösung :/

  • Zitat von &quot;Sarkkan&quot;

    Okey, hier meine Bewertung/Verbesserungsvorschläge:

    • Überprüfe ob der Benutzer wenigstens eine gütlige E-Mail-Adresse eingegeben hat. PHP bietet dazu filter_var mit dem FILTER_VALIDATE_EMAIL-Filter.


    Ich dachte da reicht input type="email". Bin mir nur nicht sicher, wie weit abwärtskompatibel dieser input type ist..

  • Alles, was du mit HTML ausgibst, kann sehr leicht modifiziert werden.
    Außerdem steht in den Sternen, inwiefern Browser verhindern, dass dort etwas anderes als eine E-Mail-Adresse eingegeben wird.

  • Zitat von &quot;webmaster3000&quot;

    Alles, was du mit HTML ausgibst, kann sehr leicht modifiziert werden.
    Außerdem steht in den Sternen, inwiefern Browser verhindern, dass dort etwas anderes als eine E-Mail-Adresse eingegeben wird.



    achja.? ;)


    versuche mal in chrome oder firefox (opera glaube auch) ein formular abzusenden OHNE das du eine gültige email im input type="email" feld hast ;)

  • Zitat von &quot;drPHIP132&quot;

    versuche mal in chrome oder firefox (opera glaube auch) ein formular abzusenden OHNE das du eine gültige email im input type="email" feld hast ;)


    Nichts leichter als das :) Selbst in meinem FF10b schaffe ich das noch :P
    Für Otto-Normal ist es natürlich nicht möglich dir da böses zu tun, aber wie sieht es mit dem netten Hacker von nebenan aus? Wenn er unbedingt seinen Browser verwenden will, wählt er via JavaScript das Formular aus und lässt es via .submit() versenden. Oder er ändert einfach den type vom input :P
    (Oder er schickt die Daten von einem Programm aus an deinen Server, den kümmert es nämlich herzlich wenig, ob der Benutzer ein Browser wahr oder sonst was)


    Gruß
    Sarkkan

  • Man muss gar nicht vom "bösen Hacker" ausgehen. Die Validierung des Formulars (und hier der E-Mail) macht man nämlich, damit beimAusfüllen dem unachtsamen/unkozentrierten User keine Fehler unterlaufen, über die er sich noch ärgern könnte.


    Beispiel: Die Anmeldung an einem Newsletter.
    Der Besucher ist interessiert, vergisst beim eingeben aber die TLD seiner E-Mail-Adresse und bemerkt es nicht. Ein Validiertes Formular macht ihn darauf aufmerksam, ein nicht Validiertes versucht jedes mal, einer ungültigen E-Mail-Adresse etwas zuzusenden.


    Gruß,
    webmaster3000

  • Um noch mal das Absenden des Formulars mit der Entertaste aufzugreifen, ich mutmaße mal:


    Code
    <form action="" method="get">
        <input type="text" name="textfeld" />
        <input type="submit" name="submit" />
      </form>


    In diesem (sehr billigen) Formular bekomme ich wenn ich im Textfeld Enter drücke eindeutig diese Zeichenkette an meine URL:


    ?textfeld=Text&submit=Senden

  • Großes Problem.
    bin grade beim überarbeiten aber finde den fehler nicht. schon seit 30min suche ich.


    irgendwas aus zeile 142 obwohl da </html> steht 8|
    Parse error: syntax error, unexpected $end in /www/htdocs/w00deefc/formular.php on line 142


    PHP
    <span class="syntaxhtml"><br /><span class="syntaxdefault"><?php<br />function tuersteher</span><span class="syntaxkeyword">(</span><span class="syntaxdefault"> $zum_testen </span><span class="syntaxkeyword">)<br />{<br /></span><span class="syntaxdefault">    if </span><span class="syntaxkeyword">(</span><span class="syntaxdefault"> preg_match</span><span class="syntaxkeyword">(</span><span class="syntaxstring">"/(to:|cc:|bcc:|from:|subject:|reply-to:|content-type:|MIME-Version:|multipart/mixed|Content-Transfer-Encoding:)/ims"</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> $zum_testen</span><span class="syntaxkeyword">))<br /></span><span class="syntaxdefault">    </span><span class="syntaxkeyword">{<br /></span><span class="syntaxdefault">        echo </span><span class="syntaxstring">"hallo"</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">    </span><span class="syntaxkeyword">}<br /></span><span class="syntaxdefault">?><br /></span><!DOCTYPE html><br /><html><br /><head><br />    <title>Titel</title><br />    <meta charset="UTF-8" /><br />    <style type="text/css"><br />        body, form, fieldset, legend, input, select, textarea<br />        {<br />            margin: 0;<br />            padding: 0;<br />        }<br /><br />        form<br />        {<br />            width: 500px;<br />        }<br /><br />        fieldset<br />        {<br />            display: block;<br />        }<br /><br />        label<br />        {<br />            width: 500px;<br />            float: left;<br />            margin: 6px 20px;<br />        }<br /><br />        input, select, textarea<br />        {<br />            width: 300px;<br />            float: right;<br />        }<br /><br />        textarea<br />        {<br />            max-height: 300px;<br />            max-width: 300px;<br />            min-height: 300px;<br />            min-width: 300px;<br />        }<br /><br />        input[type="submit"]<br />        {<br />            display: block;<br />            float: none;<br />            clear: both;<br />            width: 100px;<br />            margin: 0 auto;<br />        }<br /><br />        <span class="syntaxdefault"><?php<br />            foreach</span><span class="syntaxkeyword">(</span><span class="syntaxdefault"> $_POST as $information </span><span class="syntaxkeyword">=></span><span class="syntaxdefault"> $angabe </span><span class="syntaxkeyword">)<br /></span><span class="syntaxdefault">            </span><span class="syntaxkeyword">{<br /></span><span class="syntaxdefault">                if</span><span class="syntaxkeyword">(</span><span class="syntaxdefault"> empty</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$angabe</span><span class="syntaxkeyword">)</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">)<br /></span><span class="syntaxdefault">                </span><span class="syntaxkeyword">{<br /></span><span class="syntaxdefault">                    echo </span><span class="syntaxstring">"#"</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">.</span><span class="syntaxdefault"> $information </span><span class="syntaxkeyword">.</span><span class="syntaxdefault"> </span><span class="syntaxstring">"{border:1px solid #ff0000;}"</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">                </span><span class="syntaxkeyword">}<br /></span><span class="syntaxdefault">            </span><span class="syntaxkeyword">}<br /></span><span class="syntaxdefault">            ?><br /></span><br />    </style><br /></head><br /><br /><body><br /><br />    <!-- im formular werden die ID's vergeben, da durch dazugehörigen php code die nicht ausgefüllten rot maskiert werden' --><br />    <form method="post" action=""><br />        <fieldset><br />            <label>* Anrede:<br />            <select name="anrede" id="anrede" ><br />                <option value="Herr">Herr     </option><br />                <option value="Frau">Frau     </option><br />            </select><br />            </label><br />            <label>* Vorname:<br />                <input type="text" name="vorname" id="vorname"  /><br />            </label><br />            <label>* Nachname:<br />                <input type="text" name="nachname" id="nachname" /><br />            </label><br />            <label>* E-Mail:<br />                <input type="email" name="email" id="email" /><br />            </label><br />            <label>* Nachricht:<br />                <textarea name="nachricht" id="nachricht"></textarea><br />            </label><br />            <label> Ort:<br />                <input type="text" name="ort" /><br />            </label><br />            <input type="submit" name="button" value="Absenden"  /><br />        </fieldset><br /><span class="syntaxdefault"><?php<br />    </span><span class="syntaxcomment">#wurde der submit button gedrückt?<br /></span><span class="syntaxdefault">    if</span><span class="syntaxkeyword">(</span><span class="syntaxdefault"> $_POST</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'button'</span><span class="syntaxkeyword">]</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">==</span><span class="syntaxdefault"> </span><span class="syntaxstring">"Absenden"</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">)<br /></span><span class="syntaxdefault">    </span><span class="syntaxkeyword">{<br /></span><span class="syntaxdefault">        if</span><span class="syntaxkeyword">(</span><span class="syntaxdefault"> $_POST</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'anrede'</span><span class="syntaxkeyword">]</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">!=</span><span class="syntaxdefault"> </span><span class="syntaxstring">""</span><span class="syntaxdefault"> and $_POST</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'vorname'</span><span class="syntaxkeyword">]</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">!=</span><span class="syntaxdefault"> </span><span class="syntaxstring">""</span><span class="syntaxdefault"> and $_POST</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'nachname'</span><span class="syntaxkeyword">]</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">!=</span><span class="syntaxdefault"> </span><span class="syntaxstring">""</span><span class="syntaxdefault"> and $_POST</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'email'</span><span class="syntaxkeyword">]</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">!=</span><span class="syntaxdefault"> </span><span class="syntaxstring">""</span><span class="syntaxdefault"> and $_POST</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'nachricht'</span><span class="syntaxkeyword">]</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">!=</span><span class="syntaxdefault"> </span><span class="syntaxstring">""</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">)<br /></span><span class="syntaxdefault">        </span><span class="syntaxcomment"># kontrolliert ob alle pflichtfelder != leer sind<br /></span><span class="syntaxdefault">        </span><span class="syntaxkeyword">{<br /></span><span class="syntaxdefault">            </span><span class="syntaxcomment">/*----------------------variablen bereinigen------------------------*/<br /></span><span class="syntaxdefault">            $anrede       </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> trim</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$_POST</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'anrede'</span><span class="syntaxkeyword">]);<br /></span><span class="syntaxdefault">            $vorname      </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> trim</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$_POST</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'vorname'</span><span class="syntaxkeyword">]);<br /></span><span class="syntaxdefault">            $nachname     </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> trim</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$_POST</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'nachname'</span><span class="syntaxkeyword">]);<br /></span><span class="syntaxdefault">            $email        </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> trim</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$_POST</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'email'</span><span class="syntaxkeyword">]);<br /></span><span class="syntaxdefault">            $nachricht    </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> trim</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$_POST</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'nachricht'</span><span class="syntaxkeyword">]);<br /></span><span class="syntaxdefault">            $anrede    </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> tuersteher</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$anrede</span><span class="syntaxkeyword">);<br /></span><span class="syntaxdefault">            $vorname   </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> tuersteher</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$vorname</span><span class="syntaxkeyword">);<br /></span><span class="syntaxdefault">            $nachname  </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> tuersteher</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$nachname</span><span class="syntaxkeyword">);<br /></span><span class="syntaxdefault">            $email     </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> tuersteher</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$email</span><span class="syntaxkeyword">);<br /></span><span class="syntaxdefault">            $nachricht </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> tuersteher</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$nachricht</span><span class="syntaxkeyword">);<br /><br /></span><span class="syntaxdefault">            </span><span class="syntaxcomment">/*-----------------------email-------------------------*/<br /></span><span class="syntaxdefault">            $empfaenger </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> </span><span class="syntaxstring">"philipp_mail@sarkkan.de"</span><span class="syntaxkeyword">;</span><span class="syntaxdefault"> </span><span class="syntaxcomment">//Mailadresse<br /></span><span class="syntaxdefault">            $absender   </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> $email</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">            $betreff    </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> </span><span class="syntaxstring">"Kontakt"</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">.</span><span class="syntaxdefault"> </span><span class="syntaxstring">" | "</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">.</span><span class="syntaxdefault"> $anrede </span><span class="syntaxkeyword">.</span><span class="syntaxdefault"> </span><span class="syntaxstring">" "</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">.</span><span class="syntaxdefault"> $vorname </span><span class="syntaxkeyword">.</span><span class="syntaxdefault"> </span><span class="syntaxstring">" "</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">.</span><span class="syntaxdefault"> $nachname</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">            $mailtext   </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> $anrede </span><span class="syntaxkeyword">.</span><span class="syntaxdefault"> </span><span class="syntaxstring">" "</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">.</span><span class="syntaxdefault"> $vorname </span><span class="syntaxkeyword">.</span><span class="syntaxdefault"> </span><span class="syntaxstring">" "</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">.</span><span class="syntaxdefault"> $nachname </span><span class="syntaxkeyword">.</span><span class="syntaxdefault"> </span><span class="syntaxstring">" schrieb,"</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">.</span><span class="syntaxdefault"> $nachricht</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">            $antwortan  </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> $email</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">            mail</span><span class="syntaxkeyword">(</span><span class="syntaxdefault"> $empfaenger</span><span class="syntaxkeyword">,<br /></span><span class="syntaxdefault">                  $betreff</span><span class="syntaxkeyword">,<br /></span><span class="syntaxdefault">                  $mailtext</span><span class="syntaxkeyword">,<br /></span><span class="syntaxdefault">                  </span><span class="syntaxstring">"From: $absender\nReply-To: $antwortan"</span><span class="syntaxkeyword">);<br /></span><span class="syntaxdefault">            echo </span><span class="syntaxstring">"Mail wurde gesendet!"</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">        </span><span class="syntaxkeyword">}<br /></span><span class="syntaxdefault">        else<br />        </span><span class="syntaxkeyword">{<br /></span><span class="syntaxdefault">            echo </span><span class="syntaxstring">"Rotmakierte Felder bitte Ordungsgem&auml;&szlig; ausf&uuml;llen!!!"</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">        </span><span class="syntaxkeyword">}<br /></span><span class="syntaxdefault">    </span><span class="syntaxkeyword">}<br /></span><span class="syntaxdefault">?><br /></span><br />    </form><br /></body><br /></html><br /></span>
  • bei function tuersteher fehlt die schließende geschweifte Klammer.


    Der Fehler bedeutet, der Code kann eigentlich nicht zu Ende sein, z.B. weil irgendeine Klammer oder Anführungszeichen nicht geschlossen wurden, wodurch der Parser noch weiteren Code erwartet.

  • PHP
    <?php
    function tuersteher( $zum_testen )
    {
        if ( preg_match("/(to:|cc:|bcc:|from:|subject:|reply-to:|content-type:|MIME-Version:|multipart/mixed|Content-Transfer-Encoding:)/ims", $zum_testen))
        {
            echo "hallo";
        }
    ?>
    <!DOCTYPE html>


    Das darf auf keinen Falll in deiner Datei stehen, weil sich zwischen ?> und <!DOCTYPE ein Zeilenumbruch befindet, der mit ausgegeben wird. Somit hat der Doctype keine Wirkung mehr (guck mal in deinem Browser in den Quelltext).

  • Zitat von &quot;webmaster3000&quot;
    PHP
    <?php
    function tuersteher( $zum_testen )
    {
        if ( preg_match("/(to:|cc:|bcc:|from:|subject:|reply-to:|content-type:|MIME-Version:|multipart/mixed|Content-Transfer-Encoding:)/ims", $zum_testen))
        {
            echo "hallo";
        }
    ?>
    <!DOCTYPE html>


    Das darf auf keinen Falll in deiner Datei stehen, weil sich zwischen ?> und <!DOCTYPE ein Zeilenumbruch befindet, der mit ausgegeben wird. Somit hat der Doctype keine Wirkung mehr (guck mal in deinem Browser in den Quelltext).



    ja weiß ich, hast du auch recht.
    es ging mir aber erstmal nur ums testen.

  • ich brauch auch eben hilfe bei einem musterkontakrformular.


    und zwar arbeite ich gerade mit der dvd und html-seminar.de, php-kurs.com was ich gerne wissen will ist.




    warum funktioniert das nicht ? = ( hab selbst den fehler entdeckt )


    Lösung:


    Code
    echo '<form method="get" action="Beispiel-formular.php">';

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!