Ein Kontakformular mit PHP und Bootstrap

Kontakformular mit Bootstrap und PHP – Download und Tutorial

Das Kontaktformular ist eines der elementarsten Dinge auf einer Webseite. Egal ob einfache Firmenwebseite oder eine Ankündigung über den baldigen Start eines Projekts. Mit einem Kontakformular erleichtert man den Besuchern mit den Betreibern in Kontakt zu treten. Heute zeigen wir, wie man mit Bootstrap und ein wenig PHP ein einfaches Kontaktformular erstellt. Am Ende des Tutorials kann das gesamte Kontaktformular heruntergeladen werden.

Ein kleiner Hinweis vorweg: Dies ist ein sehr einfaches Beispiel für ein Kontaktformular. Die Art und Weise der Formularkontrolle kann theoretisch mit sehr viel weniger JavaScript erfolgen. Um allerdings den “Ich habe es Verstanden” Effekt beim Leser zu generieren, halten wir es persönlich für nützlich wie in diesem Tutorial vorzugehen.

UPDATE:
Wir haben das gesamte Tutorial nochmal als Video-Tutorial veröffentlicht. Viel Spaß damit!
Direkt zum Video

Tool Kontaktformular

Anforderungen an das Kontaktformular

Bevor wir anfangen, sollten wir uns Gedanken darüber machen, was unser Kontaktformular alles können muss. Die Planung ist ein wichtiger Teil der Entwicklung, denn das nachträgliche Hinzufügen von Funktionen kann im Nachhinein viel mehr Arbeit machen.

In unserem Beispiel werde wir ein Formular erstellen, dass die folgenden Eingabefelder berücksichtigt:

  • Name
  • Vorname
  • E-Mail Adresse
  • Nachricht

Pflichtfelder und Eingaben auf Richtigkeit überprüfen

Um qualifizierte Anfragen über das Bootstrap Kontaktformular zu erhalten, sollten wir die Möglichkeit berücksichtigen, dass bestimmte Eingabefelder als Pflichtfelder deklariert werden können. Bedeutet, dass der User die Anfrage nicht absenden kann, wenn die Pflichtfelder nicht bzw. nicht richtig ausgefüllt sind.

Beim Formularfeld “E-Mail Adresse” sollten wir außerdem kontrollieren, ob hier wirklich eine E-Mail Adresse eingegeben wurde und nicht einfach nur Text.

Neue Anfragen sollen dann per E-Mail an den Webmaster gesendet werden.

Spam vermeiden durch Captcha

Beispiel eines Captchas mit Buchstaben
Abbildung 1: Beispiel Captcha – Quelle: Captcha.net

Ein Kontaktformular ist meist ein gefundenes Fressen für automatisierte Anfragen und Spam. Um überprüfen zu können, ob es sich bei dem Anfragenden um einen echten Besucher handelt, bauen wir ein so genanntes Captcha ein.

Es gibt verschiedene Arten von Captchas. Meistens wird ein Bild verwendet, auf dem sich Buchstaben und Zahlen befinden, die theoretisch nur von Menschen lesbar sind. Der Benutzer muss diese Buchstaben dann in ein dafür vorgesehenes Eingabefeld eingeben. Nur wenn die Eingabe mit dem Inhalt des Bildes übereinstimmt, wird das Formular auch wirklich abgesendet.

Eine andere Art und Weise ist beispielsweise eine einfache Rechenaufgabe, deren Lösung der Benutzer dann in das Kontrollfeld eingeben muss. Diese Funktionsweise werden wir in diesem Beispiel verwenden.

UPDATE: Erweitertes Tutorial zum Einbau von Google reCAPTCHA

Tool Kontaktformular

Versenden des Formulars durch Asynchrones JavaScript (AJAX)

Das Bootstrap Framework stellt uns viele vorbereitete Elemente zur Verfügung, die die Nutzerfreundlichkeit (Usability) unseres Kontakformulars positiv beeinflussen kann. Ziel in diesem Tutorial ist es, die Daten des Formulars im Hintergrund abzusenden und am Ende eine Erfolgsmeldung anzuzeigen. Somit bleibt der User immer auf der gleichen Seite und wird nicht unnötig weitergeleitet.

Los geht’s: Das HTML-Grundgerüst

Da wir mit dem Bootstrap Standard CSS arbeiten, müssen wir uns über das Thema Design zunächst keine Gedanken machen, sondern können die bereits vorhandenen Klassen verwenden.

HTML des Bootstrap Kontaktformulars
Abbildung 2: Links das erzeugte Kontaktformular, rechts der dazugehörige HTML-Code

Die Eröffnung des Formulars beginnt wie folgt:

<form role="form" id="frmContact"> <!-- Formular Beginn -->
</form> <!-- Formular Ende -->

Eingabefelder

Der HTML-Code für die einzelnen Felder ist sehr ähnlich. Es wird eine Formular-Gruppe erstellt, in welches dann das Label (Bezeichnung des Formularfelds) sowie das eigentliche Eingabefeld geschrieben wird.

<div class="form-group" id="frmGrpVorname">
     <label for="vorname" class="control-label">Vorname</label>
     <input type="text" id="vorname" class="form-control" 
            placeholder="Ihr Vorname">
</div>

Jeder Formular-Gruppe gebe ich neben der CSS-Klasse “form-group” eine eigene ID um sie später identifizieren zu können, wenn im Eingabefeld nichts oder etwas falsches eingegeben wurde. Im Label schreibe ich eine kurze Bezeichnung zum jeweiligen Eingabefeld. Das Label erhält die Klasse “control-label”.

Das Eingabefeld wird als normales “Input” generiert. Dieses erhält die Zuweisung eines Typen, eine ID (sollte identisch sein mit dem “for”-Inhalt des Labels) sowie die Klasse “form-control”. Zusätzlich kann ich einen so genannten Placeholder vergeben. Dort kann genauer auf den gewünschten Inhalt des Eingabefelds eingegangen werden.

Während man sich die Funktion früher mit JavaScript selbst programmieren musste, kann HTML5 das heute selbst. Ist das Feld leer, wird nämlich der Placeholder angezeigt. Klickt der User in das Feld verschwindet der Text. Einfach, aber sehr nützlich für den User.

Senden-Button (Submit)

Auch den sogenannten “Submit-Button” packe ich in eine eigene Formular-Gruppe. Zusätzlich vergebe ich hier in der Formular-Gruppe zusätzlich die Klasse “text-right”, damit der Button dann am rechten äußeren Rand platziert wird. Das mach ich persönlich immer so, weil der User von link nach rechts liest.

<div class="form-group text-right">
     <button 
          type="submit" 
          id="submitBtn" 
          class="btn btn-primary btn-lg">
               Absenden
     </button>
 </div>

Nun haben wir das HTML-Grundgerüst unseres Kontaktformulars bereits erstellt und können mit dem Kontrollieren der eingegebenen Daten beginnen.

Tool Kontaktformular

Formularkontrolle

Die Formularkontrolle macht relativ viel Arbeit, da man hier auf alle Möglichkeiten vorbereitet sein sollte. Wie bereits bei der Planung festgelegt, ist es uns wichtig, dass Pflichtfelder ausgefüllt sind und das wirklich eine E-Mail Adresse in das entsprechende Feld eingegeben wurde. Erst dann soll im Hintergrund das Anfrage versendet werden.

Für die Kontrolle nutzen wir nun JavaScript mit der Bibliothek jQuery. Mit jQuery können wir sehr einfach bestimmte Prozesse abfangen und auswerten und zudem den HTML-Code modifizieren wenn möglich. Der JavaScript-Code sollte innerhalb des Body-Tags erfolgen und nach dem Einbinden der externen JavaScript-Dateien.

Abfangen des Absendens

<script>
     $( '#frmContact').submit( function() {
          var formControl = true;
          alert( 'Test!' ); <!-- Nur zum Testen -->
          return false;
     } );
</script>

Mit der jQuery-Funktion “submit()” können wir abfragen, wann der User das Formular absenden möchte. Über die ID “frmContact”, die im Form-Tag vergeben wurde, können wir das Abesenden von genau diesem Formular abfangen und unsere Kontrolle machen.

Um zunächst zu zeigen und zu testen, ob das Abfangen auch funktioniert, sollte sich nun ein kleines Fenster öffnen, welches den Inhalt “Test” hat. Die Zeile “return false;”, muss immer vorhanden sein. Würde hier nichts stehen oder “return true;”, dann würde die aktuelle Seite neu geladen werden. Die Variabel “formControl”, wird uns am Ende der Funktion sagen können, ob es Fehler bei den Eingaben gab oder nicht. Diese ist zunächst auf “true” gesetzt, da wir grundsätzlich davon ausgehen, dass alle Eingaben korrekt gemacht wurden.

Inhalt der Eingabefelder abfragen

var vorname = $( '#vorname' );
var nachname = $( '#nachname' );
var email = $( '#email' );
var nachricht = $( '#nachricht' );
var captcha = $( '#captcha' );

Da jedes Eingabefeld eine ID hat, können wir diese über den jQuery-Selektor sehr einfach identifizieren. Im nächsten Schritt können wir mit Hilfe einer “if”-Abfrage bereits anfangen die Inhalt der Formularfelder auszuwerten.

if(vorname.val() == '') {
     formControl = false;
}

Mit der jQuery-Funktion “val()” erhalten wir nun den Inhalt der Eingabefelder. Ist kein Inhalt vorhanden, wird die Variable “formControl” sofort auf “false” gesetzt. Diese if-Abfrage können wir nun für jedes Pflichtfeld wiederholen.

E-Mail Eingabe auf Richtigkeit überprüfen

Um die Eingabe im E-Mail Feld zu kontrollieren, benutzen wir eine extra Funktion. Diese werden wir hier nicht weiter kommentieren, da es den Umfang sprengen würde:

function validateEmail(email) { 
     var re = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
     return re.test(email);
} 

Die if-Abfrage sieht dann wie folgt aus:

if(validateEmail(email.val()) == false) {
     formControl = false;
}

Ausgeben einer Fehlermeldung

Bootstrap stellt uns wie bereits erwähnt viele CSS-Klassen und Elemente zur Verfügung, um die Nutzerfreundlichkeit sehr einfach zu wahren. Im nächsten Schritt, wollen wir, wenn ein Formularfeld falsch ausgefüllt wurde, dass dieses rot markiert wird. Dafür erweitern wir einfach unsere if-Funktion. Hier wird derzeit lediglich die Variable “formControl” auf “false” gesetzt.

if(vorname.val() == '') {
     formControl = false;
     $( '#frmGrpVorname' ).addClass( 'has-error' ); <!-- NEU** -->
}

Ist der Inhalt falsch, erhält die Formular-Gruppe zusätzlich die Klasse “has-error”, womit das Label und das Input-Feld rot markiert werden.

Zusätzlich müssen wir allerdings nun dafür sorgen, dass bei jedem Aufruf der Formularkontrolle die Klasse wieder entfernt wird, denn sonst bleibt sie immer rot.

$( '#frmGrpVorname' ).removeClass( 'has-error' );

Absenden der Daten via AJAX

Die Kontrolle der Eingaben ist somit erledigt. Hat die Variable “formControl”, nach dem Abarbeiten aller Kontrollen immer noch den Wert “true”, können wir das Formular also absenden. Die PHP-Datei erstellen wir im nächsten Schritt. Sie wird im folgenden Code allerdings bereits aufgerufen.

if(formControl) {
     $.ajax({
          type: "POST",
          url: "php/senden.php",
          data: { 
               vorname:vorname, 
               nachname:nachname, 
               email:email, 
               nachricht:nachricht 
          }
     }).done(function(msg) {
          $( '#message' ).addClass( 'alert' );
          $( '#message' ).addClass( 'alert-success' );
          $( '#message').html( msg );
     });
}

Wir fragen also zunächst ab, ob die Variable “formControl” noch den Wert “true” hat. Ist dies der Fall, wird die Funktion AJAX aufgerufen. Die Variablen werden mit dem Typ “POST” an die PHP-Datei gesendet. Mit “data”, werden die Variablen definiert, die gesendet werden sollen.

Am Ende soll eine Erfolgsmeldung erscheinen. Die Nachricht, die diese enthält, wird von der PHP-Datei an unser JavaScript gesendet und dann in ein DIV mit der ID “message” geschrieben. Das DIV kann überall auf der Seite enthalten sein. Sollte allerdings keinen Inhalt und keine CSS-Klasse haben. Nur dann ist das DIV zunächst nicht sichtbar.

Tool Kontaktformular

Die Anfrage per PHP an den Webmaster versenden

Die PHP-Datei werden wir in diesem Tutorial auch sehr kurz, knapp und einfach halten. Grundsätzlich gibt es noch einige Sicherheitsaspekte, die beachtet werden sollten. Dies würde aber den Rahmen dieses Tutorials etwas sprengen.

<?php
$empfaenger = "webmaster@beispiel.de"; //Hier die E-Mail
$absendername = "Kontaktformular";
$absendermail = $_POST['email'];
$betreff = "Neue Anfrage";
$text = "
     Vorname: ".$_POST['vorname']."\n
     Nachname: ".$_POST['nachname']."\n
     E-Mail: ".$_POST['email']."\n
     Nachricht: ".$_POST['nachricht']."\n";
mail($empfaenger, $betreff, $text, "From: $absendername <$absendermail>");

echo("Das Formular wurde erfolgreich versendet");
?>

Mit der PHP-Mail Funktion werden nun alle Daten des Formulars an die, bei $empfaenger festgelegten E-Mail Adresse, versendet. Das “echo()”, gibt den Text wieder, der dann in der Erfolgsmeldung erscheint.

Download der Dateien

Tutorial Bootstrap Kontakformular

Tutorial als Video

Wir freuen uns wie immer über Kommentare. Was würdet ihr besser machen? Was benötigt ein Kontaktformular noch? Haben wir was vergessen?

Du möchtest regelmäßig mit interessanten Neuigkeiten zum Thema "Twitter Bootstrap" versorgt werden? Trag Dich in den Bootstrapaholic Newsletter ein. Wir versenden keinen Spam! Du kannst Dich jederzeit austragen.

Dieser Beitrag wurde unter Bootstrap Tutorials abgelegt am von .

83 Gedanken zu „Kontakformular mit Bootstrap und PHP – Download und Tutorial

  1. Shah

    Hallo Christoph,

    dein Tutorial gefällt mir sehr! Daumen hoch!
    Die Art und Weise, wie du das Thema Schritt für Schritt erklärst, ist richtig geil!

    Ich habe es genau so wie du gemacht, allerdings funktioniert das Senden an meine email Adresse nicht.
    Woran liegt das? Kann es vielleicht sein, dass man erst mit einem Server verbunden sein muss, damit das funktioniert?

    Ich bin gerade dabei eine Homepage zu erstellen. Kenne mich mit PHP und jQuery nicht so gut aus.
    Ich habe die Index-Datei auch noch nicht auf einen Server geladen und somit nur mit den Verzeichnissen gearbeitet.
    Damit das also funktioniert, müsste ich die Index-Datei erst auf einen Server laden oder?

    Gruß Shah

    Antworten
    1. Christoph Paterok Artikelautor

      Hallo Shah, danke für Deinen Kommentar :)
      Ja, Du musst mit einem Server verbunden sein. Hast Du vielleicht XAMPP oder MAMP auf Deinem PC installiert?

      Gerade wenn es aber um das E-Mail versenden geht, würde ich das Script wirklich erst auf dem Server ausprobieren. Da müsste es funktionieren.

      Viele Grüße Christoph

      Antworten
      1. Andre

        Hallo, ich habe das Tutorial aufmerksam verfolgt und bin erleichtert das es so einfach sein kann. Leider funktioniert das online auf meinem Webspace nicht.

        Antworten
        1. Christoph Paterok Artikelautor

          Hallo Andre,

          was genau funktioniert denn nicht? Hast Du kein PHP auf Deinem Webspace verfügbar?

          Viele Grüße Christoph

          Antworten
  2. Toby W

    Sehr gutes Tutorial! Danke.
    Habe alles Schritt für Schritt genau so gemacht und die Dateien auf einen Webserver geladen. Überprüfung funktioniert. Leere Felder werden rot eingefärbt. Wenn ich nun aber die Felder korrekt ausfülle und absenden möchte, hängt sich die Seite auf und wenig Später erscheint eine Fehlermeldung:

    Beim Anzeigen dieser Webseite ist ein Fehler aufgetreten….

    Mache ich etwas falsch? Es funktioniert auch mit den Beispieldateien nicht…

    Gruss Toby

    Antworten
    1. Christoph Paterok Artikelautor

      Hi Toby,

      danke, freut mich, wenn ich Dir mit dem Tutorial helfen konnte.

      Kontrollier doch bitte mal, ob der Pfad zu PHP Datei richtig gesetzt ist. also hier:

      url: "php/senden.php",

      Ich schau mir bei Gelegenheit mal die Beispieldateien an.

      Viele Grüße

      Christoph

      Antworten
      1. Toby

        Der Pfad zur php Datei stimmt. Ich habe jetzt zu Testzwecken mal Deine Beispieldateien 1:1 übernommen und nur meine E-Mail Adresse angepast.
        Übrigens steht im script in der Beispieldatei noch: if(formControl) {
        $.ajax({
        type: "POST",
        url: "php/senden.php",
        data: { keyword:vorname }
        }).done(function(msg) {
        $( '#message' ).addClass( 'alert' );
        $( '#message' ).addClass( 'alert-success' );
        $( '#message').html( msg );
        });
        }

        Dort musste ich bei “data” noch die keywords richtig setzen (wie oben im tutorial). Hat aber trotzdem nicht funktioniert…

        Gruss,

        Toby

        Antworten
        1. Dissident

          Hallo, nachdem ich ewig mit dem ursprünglichen Code rumgemacht habe hat mir die Ergänzung von Erni weitergeholfen, allerdings steh ich jetzt vor dem Problem dass weder die Erfolgsmeldung kommt, noch die Formularfelder wieder gelöscht werden, was vorher (als die Mail noch nicht gesendet wurde) einwandfrei funktioniert hatte. Hatt jemand eine Idee?

          window.jQuery || document.write('')

          function validateEmail(email) {
          var re = /^(([^()[\]\\.,;:\s@\"]+(\.[^()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
          return re.test(email);
          }

          $( '#frmContact').submit( function() {
          var formControl = true;

          $( '#frmGrpVorname' ).removeClass( 'has-error' );
          $( '#frmGrpNachname' ).removeClass( 'has-error' );
          $( '#frmGrpEmail' ).removeClass( 'has-error' );
          $( '#frmGrpNachricht' ).removeClass( 'has-error' );
          $( '#frmGrpCaptcha' ).removeClass( 'has-error' );

          var vorname = $( '#vorname' );
          var nachname = $( '#nachname' );
          var email = $( '#email' );
          var nachricht = $( '#nachricht' );
          var captcha = $( '#captcha' );

          if(vorname.val() == '') {
          formControl = false;
          $( '#frmGrpVorname' ).addClass( 'has-error' );
          }

          if(nachname.val() == '') {
          formControl = false;
          $( '#frmGrpNachname' ).addClass( 'has-error' );
          }

          if(nachricht.val() == '') {
          formControl = false;
          $( '#frmGrpNachricht' ).addClass( 'has-error' );
          }

          if(validateEmail(email.val()) == false) {
          formControl = false;
          $( '#frmGrpEmail' ).addClass( 'has-error' );
          }

          if(captcha.val() != '5') {
          formControl = false;
          $( '#frmGrpCaptcha' ).addClass( 'has-error' );
          }

          if(formControl) {
          $.ajax({
          type: "POST",
          url: "php/senden.php",
          data: {
          vorname:vorname.val(),
          nachname:nachname.val(),
          email:email.val(),
          nachricht:nachricht.val()
          }
          }).done(function(msg) {
          $( '#message' ).addClass( 'alert' );
          $( '#message' ).addClass( 'alert-success' );
          $( '#message').html( msg );
          });
          }
          return false;
          });

          Antworten
  3. Erni

    Sehr gutes Tutorial! Danke. Habe es auf den Server geladen. Doch es funktioniert nicht trotz angepasster Mail-Adresse. Beim Absenden des ausgefüllten Formulars, passiert nichts d.h. das ausgefüllte Formular wird nur gelöscht und keine Mail verschickt. Ist es richtig, dass nach dem Entpacken der Dateien 2 php-Dateien entstehen, index.php und senden.php ? Wo kann der Fehler liegen?
    Viele Grüsse
    Erni

    Antworten
    1. Christoph Paterok Artikelautor

      Hi Erni,

      danke für Deinen Kommentar.

      Ja, zwei PHP-Dateien sind richtig. In dem einen ist das Formular an sich, man hätte das auch einfach als HTML-Datei machen können.

      Ist der Pfad zur “senden.php” Datei richtig gesetzt?

      Ich werde das Tutorial die nächsten nochmal überarbeiten und auch ein Video dazu machen.

      Viele Grüße

      Christoph

      Antworten
  4. Erni

    Hallo Christoph. Es wäre genau das script welches ich gesucht habe, leicht den eigenen Bedürnissen anzupassen und mit einer Captcha-Abfrage versehen. Ein sehr gutes script (Kompliment!!). Ich habe nun nochmals dein Originalscript auf den Webserver geladen und nur die E-Mailadresse angepasst. Leider ohne Erfolg :-( . Ich habe ein viel einfacheres Kontaktformular ausprobiert. Welches ohne Probleme funktionierte, jedoch ohne die Mögichkeiten von Bootstrap aufwies. Könnte es etwas mit der Authentifizierung zu tun haben? Damit kenne ich mich aber zu wenig aus.
    Viele Grüsse
    Erni

    Antworten
  5. Erni

    Hallo Christopf, jetzt funktioniert es bei mir. Ich habe die index.php am Schluss so abgeändert:

    if(formControl) {
    $.ajax({
    type: “POST”,
    url: “php/senden.php”,
    data: { vorname:vorname.val(),
    nachname:nachname.val(),
    email:email.val(),
    nachricht:nachricht.val()
    }
    }).done(function(msg) {
    $( ‘#message’ ).addClass( ‘alert’ );
    $( ‘#message’ ).addClass( ‘alert-success’ );
    $( ‘#message’).html( msg );
    });
    }
    return false;
    } );

    Antworten
    1. Christoph Paterok Artikelautor

      Super, Danke Dir für Deine Hilfe! Ich werde das in die Aktualisierung dieses Artikels übernehmen. Am Wochenende kommt dann das ganze Tutorial auch noch als Video hier auf die Seite. Freu mich auf Dein Feedback!

      Viele Grüße Christoph

      Antworten
    2. Toby W

      Danke!
      Jetzt bleibt das Formular zwar nicht mehr hängen, aber ich bekomme weder eine Mail, noch die Erfolgsmeldung…

      Gruss,
      Toby

      Antworten
      1. Erni

        Klicke auf meinen oben erwähnten Link und teste es. Die “senden.php” ist wie im Original von Christoph. Ein weiteres Problem hat sich gezeigt, indem die Umlaute nicht richtig ausgegeben werden.

        Antworten
        1. Toby W

          Komisch. Ich habe auch die Originaldateien von Christoph übernommen und nur Deine Änderungen an der index.php angewendet…
          Dann muss ich das wohl nochmals überprüfen…

          Antworten
          1. Toby W

            Hab den Fehler gefunden. Es hat beim Kopieren von Deinem Quellcode die Gänsefüsschen und Apostrophs falsch übernommen. Jetzt klappts auch bei mir.
            Mich würde nun aber noch interessieren, wie man statt der 2+3 Abfrage ein “reCaptcha” (https://www.google.com/recaptcha/intro/index.html) zur Verifizierung einbinden kann…
            Und ausserdem, wie kann man das Ergebnis von Radio-Checkboxen (Ja/Nein) dann in der Mail ausgeben?
            Danke und Gruss,

            Toby

        2. Christoph Paterok Artikelautor

          Hallo zusammen,

          hab es heute geschafft, das gesamte Tutorial als Video hochzuladen :) Sind tatsächlich 36 Minuten geworden. Würde mich über Feedback freuen. Ihr findet es ganz einfach am Ende des Artikels. Viel Spaß!

          Antworten
  6. Toby W

    Hey Christoph!

    Vielen Dank für das Video! Habs gleich ausprobiert! Hat super geklappt!!!

    Ich habe nun noch einige weiterführende Fragen:
    1. Wie kann ich eine Captcha-Abfrage von reCaptcha einbinden?
    2. Wie kann ich bei radio checkboxen mit 2 (oder mehr) Optionen (Z.B. Ja oder Nein) erstens überprüfen, ob eine der beiden Checkboxen ausgewählt wurde und zweitens die angewählte Option dann im eMail asugeben?
    3. In der E-Mail werden Umlaute nicht richtig dargestellt. Kann man das irgendwie korrigieren?
    Vielen Dank erst mal.

    Gruss,

    Toby

    Antworten
    1. Christoph Paterok Artikelautor

      Hi Toby,

      danke für Dein Feedback, freut mich, wenn es geklappt hat.

      Zu Deinen Fragen:

      1) reCaptcha: Finde ich eine super Sache und würde ich in einem neuen Artikel erklären. Vielleicht schaffe ich das gleich morgen noch.

      2) Das ist gar nicht so schwer. Ich habe hier einen Klasse Artikel von Martin Abraham gefunden, der erklärt, wie man die Inhalte eines Input type radio auslesen kann: https://mabraham.de/jquery-radio-buttons-auslesen-und-manipulieren/ . Besser könnte ich es hier als Kommentar wahrscheinlich auch nicht erklären :)

      3) Ja, die Umlaute sind leider immer ein leidiges Thema. Ich habe ja im Video erwähnt, dass ich normalerweise alle E-Mail per SMTP verschicke, damit ist die Wahrscheinlichkeit auch geringer, dass E-Mails im Spam-Ordner landen. Ich weiß nicht, wie sehr Du Dich mit PHP auskennst, aber dann wäre diese PHP-Klasse eine sehr sinnvolle alternative zur PHP Mail Funktion: https://github.com/PHPMailer/PHPMailer

      Es ist allerdings auch mit der PHP Mail Funktion möglich. Habe hier auch etwas gutes gefunden: http://www.php-kurs.com/email-per-php.htm Dabei müssen die mitgesendeten Header-Daten gesetzt werden. Ist aber nicht schwer und super einfach erklärt.

      Wünsch Dir viel Erfolg und schick doch mal einen Link zu Deinem Kontakformular, wenn es fertig ist :)

      Viele Grüße

      Christoph

      Antworten
      1. Toby W

        Super! Danke. Ich werde es dann mal ausprobieren.
        Ich lass es Dich dann gerne wissen, wenns geklappt hat ;)
        Zu meinen PHP-Kenntnissen: Sagen wir mal so. Ich bin zurzeit etwas am einarbeiten in das Thema PHP und auch MySQL mittels einem Videotutorial von Video2brain…
        Gruss,
        Toby

        Antworten
    1. Christoph Paterok Artikelautor

      Hi Markus,

      würde Dir gerne helfen. Hast Du Dir das Video dazu angeschaut?

      Bzw. kannst Du mir genauer sagen, was nicht funktioniert und wann die Seite abstürzt?

      Viele Grüße

      Christoph

      Antworten
  7. Jumpilo

    Hi hi,

    super arbeit… Kontaktformular – bei mir funktioniert leider der Versand auch nicht… schade…
    Ich lande immer wider auf der Kontaktseite… Versand … da passiert nichts :-(
    Hab schon alles probiert… wer hat eine Idee für mich??? Merciiiii

    LG
    Jumpilo

    Antworten
    1. Jumpilo

      Ah ja, der Versuch mit “https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js” brachte auch nichts… sehr schade :-(

      Antworten
  8. Friedeburger

    Schönes Tutorial! Alles super erklärt. Habe allerdings ein kleinens Problem.
    Nach den Absenden des Formulars kann man immer wieder auf den Absendebutton klicken und das Formular wird immer wieder abgesendet. Wie kann ich das verhindern?
    Vielen Dank!

    Antworten
    1. Christoph Paterok Artikelautor

      Hi!

      Danke für Dein Feedback!

      Du könntest den Button ganz einfach deaktivieren, sobald die Formularkontrolle erfolgreich durchgeführt wurde.

      Dazu musst Du dem Submit-Button das Attribut “disabled” geben. Mit jQuery funktioniert das so:

      $(‘#selector’).attr(“disabled”, ‘disabled’);

      Und das eben einfach an der Stelle einsetzen, wo das Formular abgesendet wird.

      Viele Grüße Christoph

      Antworten
  9. Friedeburger

    Dank für den Tip!
    Leider hab ich Schwierigkeiten bei der Umsetzung.
    hier mal mein Versuch :

    Nachricht absenden

    und im Script:
    if(formControl) {
    $.ajax({
    type: “POST”,
    url: “php/senden.php”,
    data: { name:name.val(),
    telefon:telefon.val(),
    email:email.val(),
    nachricht:nachricht.val()

    }
    }).done(function(msg) {
    $( ‘#message’ ).addClass( ‘alert’ );
    $( ‘#message’ ).addClass( ‘alert-success’ );
    $( ‘#message’).html( msg );
    $(“submitBtn”).attr(“disabled”,”disabled”);
    });
    }
    return false;
    } );

    leider ist der Sendebutton dann immer deaktiviert.
    Bräuchte wohl doch nochmal deine Hilfe :(
    Vielen Dank schonmal!

    Antworten
  10. Friedeburger

    ich hab den Button folgrnen code zugewiesen:

    Nachricht absenden

    nun geht der Button überhaupt nicht mehr da ständig deaktieviert.

    Antworten
  11. Friedeburger

    ohweh kann hier keinen code reinkopieren
    versuchs mal reinzuschreiben:

    Nachricht absenden

    ich denk da ist der Fehler drin

    Antworten
  12. lukas

    Supi Tutorial, kannst du noch sagen wie man die Abfrage in der absenden.php machen kann, wegen der Sicherheit?

    Gruß Ralf

    Antworten
  13. Alfredo

    Hola Christoph, muchas gracias, bei mir formular funktioniert super, gute Arbeit has du gemacht.
    Aber ich möchte gerne der formular controle doch mit php und weiter mit Bootstrap, wie mache ich weiter?
    Kennst du ein Ort, wo ist schauen kann?
    Muchas Gracias

    Antworten
    1. Christoph Paterok Artikelautor

      Hallo Alfredo,

      vielen Dank für Dein Feedback :)

      Um die Formularkontrolle auch mit PHP durchzuführen, reichen einfache PHP-Kenntnisse. Schau Dir doch mal diese Seite von Claudia Unkelbach an: http://www.schattenbaum.net/php/

      Sehr einfach beschrieben und auf das Wesentliche konzentriert.

      Viele Grüße

      Christoph

      Antworten
  14. Jan

    Hallo Christoph,
    ich habe mich beim Erstellen meines Kontaktformulars vor allem an dein Youtube-Video gehalten, was sehr verständlich und gut gemacht ist.
    Allerdings bin ich nur bis zu dem Punkt gekommen wo das script die Daten auslesen soll. Ich habe die jquery Datei nochmal runtergeladen und in den js Orner gepackt, ich habe alle variablennamen überprüft und dein einfaches Test-Script ausprobiert… Weder wird die form-class rot (also das Feld), noch kommt ein Test-Alert.
    Ich habe während meines Studiums leider nur Java gehört und probiere mich zum ersten mal an html und css, verstehe aber zunehmend was wie funktioniert. Nur warum dein script in meinem Formular nicht funktioniert verstehe ich nicht.
    vielleicht kannst du mal einen Blick darauf werfen:
    Dropbox Link
    Klarform:
    https://www.dropbox.com/sh/cbnzpgyp55fggxs/AAC8vxFY_c8OXBm4myebEkh3a?dl=0

    Mit freundlichem Gruß
    Jan

    Antworten
    1. Christoph Paterok Artikelautor

      Hi Jan,

      vielen Dank für Deinen Kommentar. Also was mir auf den ersten Blick aufgefallen ist, ist, dass Du in der Kontakt.html jQuery falsch eingebunden hast. Du hast geschrieben “jqery”. Vielleicht ist das schon alles?!

      Übrigens: Ich würde Dir empfehlen, den Anfangsbuchstaben der Dateinamen immer klein zu schreiben. Es kann da zu Problemen kommen. Man merkt halt, dass Du ein Java-Profi bist :) Ich bin tatsächlich auch gerade dabei Java zu lernen.

      Viele Grüße

      Christoph

      PS: Wenn der Fehler noch nicht behoben ist, einfach nochmal melden ;-)

      Antworten
      1. Jan

        ok vielen Dank, das war auf jeden Fall ein Fehler…
        Die KontaktTest.html funktoniert jetzt mit dem Alert, bei der normalen wird die Klasse nicht rot.

        Sehr bitter an der Sache ist, dass ich davon ausgeganen bin, dass in der Hinsicht alles korrekt ist, da Layoutit (Der Baukasten ist super um den Code auf die schnelle zu struktuieren) das so vorgegeben hat -_-
        Also vielen Dank nochmal für die schnelle Antwort, ich probiere trotz ausbleibender rotfärbung mal die weiteren Schritte!

        Antworten
        1. Jan

          Also ich habe jetzt mal mit
          alert( Vorname+ ‘Test’);
          im Script versucht zu testen ob das Auslesen funktioniert… Das kleine Fenster geht auf, es steht aber nur [Object object]
          falls dir der Kommentarbereicht zu voll wird freue ich mich auch über eine Email :)
          Danke für die Hilfe, mit freundlichem Gruß
          Jan

          Antworten
          1. Christoph Paterok Artikelautor

            Hi Jan :)

            also ich weiß nicht genau, in welcher Datei Du gerade arbeitest, aber ich habe mir mal die kontakt.html angeschaut.

            Da hab ich gesehen, dass Du bei der .done Methode statt function, funktion geschrieben hast. Außerdem statt message, massage ;-)

            Ansonsten ist mir jetzt nichts mehr aufgefallen. Probier es doch nochmal aus, vielleicht funktioniert es dann.

            Ja, langsam sind das echt viele Kommentare, mit soviel Interesse habe ich gar nicht gerechnet. Allerdings plane ich gerade einen richtigen Online-Kurs zum Thema Webseiten bauen, deshalb finde ich es sehr interessant, auf welche Probleme man so kommen kann. Feedback ist das wertvollste Gut :)

          2. Jan

            Hallo Christoph,
            ich habe keine .done Methode geschrieben… Wo soll die sein?
            ich habe alle Wörter die ich korrigieren muss in der kontakt.html gesucht, aber da sind sie nicht zu finden o.o (ich habe die Suche funktion genutzt ;) )
            habe ich vielleicht eine nicht originale jquery datei heruntergeladen oder ist meine Bootstrap css nicht korrekt?
            Wenn du dich über mein Feedback freust, ist das wohl eine Win-Win situation, da ich dir wirlich dankbar für die Tipps bin.

          3. Jan

            Sorry, war doch in der Falschen Datei… habe es gefunden, aber so weit bin ich auch eigentlich noch nicht, ich habe immer noch das Problem, dass der .addclass
            mit der klasse has-error nicht hinzugefügt wird, also die Felder bei fehlender Eingabe nicht Rot werden, und das habe ich in der KontaktTest.htlm mal ausprobiert :/

          4. Christoph Paterok Artikelautor

            Also so wie ich das sehe, hast du adClass falsch geschrieben. Das “C” muss groß sein.

  15. Karo

    Super Tutorial ! Gut erklärt ! Danke !
    Etwas stört dennoch.
    Nach dem Senden soll das Kontaktformular wieder in den Erstzustand gebracht werden.
    Selbst beim “Seite neu laden” wird die Kontaktanfrage nicht gelöscht.
    Was hab ich übersehen?

    Die Erfolgsmeldung soll auch nach wenigen Sekunden ausgeblendet werden.
    Ist das bei diesem Formular möglich?

    Viele Grüße
    Karo

    Antworten
    1. Christoph Paterok Artikelautor

      Hallo Karo,

      vielen Dank für Dein Feedback und Dein Kommentar :)

      Beim erfolgreichen Absenden des Formular könntest Du zum Beispiel alle Inhalt der Formularfelder löschen.

      $('#idDesFeldes').val("");

      Das würde jetzt das jeweilige Feld zurücksetzen.

      Um die Erfolgsmeldung nur einige Sekunden anzeigen zu lassen, würde ich mal hier schauen: http://getbootstrap.com/components/#alerts Ich schau mir das auch nochmal an und wenn ich eine Lösung finde, schreibe ich sie hier als Kommentar.

      Beste Grüße
      Christoph

      Antworten
      1. Marius

        Hi Christoph!
        Danke für das super Tutorial!

        Hast du etwas gefunden um die Erfolgsmeldung nach zb. Zwei Sekunden wieder auszublenden?

        Danke und weiter so!!!

        Antworten
  16. Karo

    Hallo Christoph,
    superschnelle Antwort von Dir.
    Hier hat man nicht das Gefühl, man wird allein gelassen.

    Kannst Du einem Anfänger noch sagen, an welcher Stelle dieser Schnipsel eingebaut wird?
    Dann probiere ich es gleich aus.

    Vielen Dank schon im Voraus
    Karo

    Antworten
    1. Christoph Paterok Artikelautor

      Das freut mich :) Hab Deinen ersten Kommentar leider zu spät gelesen sorry. Aber Danke für dieses nette Feedback. Ich versuch so gut und schnell wie möglich zu helfen.

      Antworten
  17. Jonas

    Erstmal ein super Tutorial! :)

    Leider habe ich das Problem, das zwar der alert kommt, das die Mail versendet wurde, jedoch ich keine Mail in meinem t-online Postfach finde (auch nicht unter spam oder sonstigem). Lasse das ganze zum Testem auf einem XAMPP Webserver mit Apache, MySQL und Mercury im Lan laufen … Sitze jetzt schon ein paar Stunden vor dem Problem und habe keine Lösung gefunden. Habe mich strickt an das Videotutorial gehalten und später den teil der senden.php aus dem schriftlichen Teil des Tutorials genommen, in der Hoffnung das es so funktioniert (leider ohne Erfolg). Vielleicht kann mir ja jemand helfen :) Danke schonmal im Vorraus!

    Antworten
    1. Christoph Paterok Artikelautor

      Hi Jonas :)

      danke für Dein Feedback!

      Also ich hab es noch nie geschafft, dass die PHP-Mail Funktion auf meiner lokalen Maschine läuft. Du kannst es dann vielleicht mit einer SMTP-Klasse versuchen.

      Beste Grüße

      Christoph

      Antworten
  18. Steven

    Hiho, erstmal klasse Tutorial!

    Aber ich bin genau am “würde das tutorial sprengen” punkt angelant :/

    Ich würde das Formular gerne mit dem “neuen” google reCaptcha + honeypott nutzen. Honeypott allerdings erst wenn das captcha endlich mal läuft.
    Auf der google HP wird davon ausgegangen das ich php beherrsche und somit wenig bis nichts erklärt, finde ich..

    Ich bekomme es hin das captcha anzuzeigen, doch ob ich es ausführe oder nicht, ich erhalte die mail.. (leider ohne sonderzeichen, vllt. wird der header nicht interpretiert bzw. übermittelt…).

    Ich habe übrigens ebenfalls das problem mit dem ausgefüllten formular. hab testweise gefühlte hundert mal aus absenden gedrückt, leider blockt der server in dem falle auch nichts :D

    Soweit so gut.. Grüße
    Steven ;)

    Antworten
  19. Pingback: Wie erstelle ich meine eigene Webseite? – Planung und Umsetzung | Bootstrapaholic

  20. Marius

    Hallo und danke für das tolle Tutorial!!!

    Ich habe anhand des Videos alles zum laufen bekommen! Wirklich gut und verständlich erklärt!
    Ich schließe mich meinem Vorredner an- kannst du noch zeigen wie man ein Google rechapta einbaut? Die Google Hilfe ist für Anfänger wirklich nicht zu verstehen.

    Danke!

    Antworten
    1. Christoph Paterok Artikelautor

      Hallo Marius, vielen Dank für Dein Feedback :)

      Ok, ich denke es ist wirklich an der Zeit diesen Teil des Tutorials zu ergänzen. Ich werde es am Wochenende machen :)

      Beste Grüße
      Christoph

      Antworten
  21. Pingback: reCAPTCHA: Der Spam-Schutz für Dein Kontaktformular | Bootstrapaholic

  22. Patrick

    Hallo Christoph,

    ganz lieben Dank für das tolle Tutorial. Die Anleitung ist echt perfekt und für nicht erfahrene bietet diese eine ideale Möglichkeit, es zu lernen und zu verstehen. Klasse und weiter so! Leider funktioniert es noch nicht so richtig bei mir, da ich beim Kontaktformular einige Effekte mit drauf liegen habe und diese bei mir nur in Website gelegt ist. Kann ich dir das mal zu senden, damit du einen Blick darauf wirfst?

    Danke!

    Lg Patrick

    Antworten
    1. Christoph Paterok Artikelautor

      Hi Patrick,

      vielen Dank für Dein Feedback :) Freut mich sehr.

      Grundsätzlich kannst Du es mir schicken, allerdings brauche ich ein bisschen Zeit, weil das etwas überhand nimmt zur Zeit. Also eine Antwort wird ca. 2-3 Tage dauern. Sorry.

      Antworten
  23. David

    Ein sehr guter Artikel, leider ist der index.php Code etwas fehlerbehaftet.

    Hier die komplette Passage des JS Codes:

    function validateEmail(email) {
    var re = /^(([^()[\]\\.,;:\s@\"]+(\.[^()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
    return re.test(email);
    }

    $( '#frmContact').submit( function() {
    var formControl = true;

    $( '#frmGrpVorname' ).removeClass( 'has-error' );
    $( '#frmGrpNachname' ).removeClass( 'has-error' );
    $( '#frmGrpEmail' ).removeClass( 'has-error' );
    $( '#frmGrpNachricht' ).removeClass( 'has-error' );
    $( '#frmGrpCaptcha' ).removeClass( 'has-error' );

    var vorname = $('#vorname').val();
    var nachname = $('#nachname').val();
    var email = $('#email').val();
    var nachricht = $('#nachricht').val();
    var captcha = $('#captcha').val();

    if(vorname == '') {
    formControl = false;
    $( '#frmGrpVorname' ).addClass( 'has-error' );
    }

    if(nachname == '') {
    formControl = false;
    $( '#frmGrpNachname' ).addClass( 'has-error' );
    }

    if(nachricht == '') {
    formControl = false;
    $( '#frmGrpNachricht' ).addClass( 'has-error' );
    }

    if(validateEmail(email) == false) {
    formControl = false;
    $( '#frmGrpEmail' ).addClass( 'has-error' );
    }

    if(captcha != '2') {
    formControl = false;
    $( '#frmGrpCaptcha' ).addClass( 'has-error' );
    }

    if(formControl) {
    $.ajax({
    type: "POST",
    url: "senden.php",
    data: { captcha:captcha,
    vorname:vorname,
    nachname:nachname,
    nachricht:nachricht,
    email:email
    }
    }).done(function(msg) {
    $( '#message' ).addClass( 'alert' );
    $( '#message' ).addClass( 'alert-success' );
    $( '#message').html( msg );
    });
    }

    return false;
    } );

    Antworten
  24. bert

    Ich versteh es nicht, hab nicht soviel Ahnung vom Programmieren

    Habe erst entsprechend Tutorial alles durchgearbeitet und auf den Server 1und1 hochgeladen, allerdings den Formularcode und das script unten auf eine html-Seite kopiert, da lief es nicht.

    Dann hab ich das ganze Pack (index.php in html umbenannt, Ordner php – der Rest ist ja schon bei der Seite) allein hochgeladen und nur die Mailadresse geändert, da lief es auch nicht.

    Ist der Download aktuell, sind da schon die Verbesserungen des Threads drin und wozu ist der .idea-Ordner da?

    Antworten
  25. ann Welt

    Hallo Christoph,

    vielen Dank, dein Tutorial ist eine große Hilfe.
    Das Senden klappt auch, nur wird leider kein Inhalt angezeigt.
    Lediglich : Vorname:

    Nachname:

    E-Mail:

    Nachricht:
    Probiert habe ich es mit:
    <?php

    $vorname = $_POST['vorname'];
    $nachname = $_POST['nachname'];
    $email = $_POST['email'];
    $nachricht = $_POST['nachricht'];

    $empfaenger = "i.de"; //Hier die E-Mail
    $absendername = "Kontaktformular";
    $absendermail = $email;
    $betreff = "Neue Anfrage";
    $text = "Es ist eine neue Nachricht eingetroffen.;

    Name, Vorname: ".$nachname.", "$vorname.";
    E-Mail: ".$email.";
    Nachricht:
    ".$nachricht;
    mail($empfaenger, $betreff, $text, "From: $absendername “);

    echo(“Das Formular wurde erfolgreich versendet”);
    ?>
    und mit
    <?php
    $empfaenger = "i.de"; //Hier die E-Mail
    $absendername = "Kontaktformular";
    $absendermail = $_POST['email'];
    $betreff = "Neue Anfrage";
    $text = "
    Vorname: .$_POST['vorname'].;
    Nachname: .$_POST['nachname'].;
    E-Mail: .$_POST['email'].;
    Nachricht: .$_POST['nachricht'].;
    mail($empfaenger, $betreff, $text, "From: $absendername “);

    echo(“Das Formular wurde erfolgreich versendet”);
    ?>

    Ich würde mich super über Hilfe freuen.
    Vielen Dank
    Liebe Grüße
    Ann Welt

    Antworten
    1. Christoph Paterok Artikelautor

      Hi Ann :)

      danke für Dein Feedback und schön, dass es Dir geholfen hat.

      Der Fehler hat folgenden Grund: Du erweiterst die Variable $text nicht, weil Du immer am Ende jeder Zeile ein Semikolon verwendest. Probier es mal so:


      $text = "
      Vorname: ".$_POST['vorname']."\n
      Nachname: ".$_POST['nachname']."\n
      E-Mail: ".$_POST['email']."\n
      Nachricht: ".$_POST['nachricht'].";

      Konnte ich jetzt gerade nicht testen, aber ich denke es sollte funktionieren. LG Christoph

      Antworten
      1. ann

        Guten Abend,
        vielen Dank, aber irgendwie klappt es nicht.
        Ich kann den Fehler einfach nicht finden.
        Die mail wird gesendet aber ohne Inhalt.
        Bin gerade echt verzweifelt.
        Liebe Grüße
        Ann

        Antworten
          1. Johnny

            liegt es eventuell an einem fehlenden ” ?

            $text = ”
            Vorname: “.$_POST[‘vorname’].”\n
            Nachname: “.$_POST[‘nachname’].”\n
            E-Mail: “.$_POST[‘email’].”\n
            Nachricht: “.$_POST[‘nachricht’].”\n”;

            So funktioniert es bei mir.

  26. xcopy

    Vielen Dank,
    Sie haben mir mein Leben um einiges vereinfacht, es hatte alles auf Anhieb geklappt.
    Zusätzlich ein super Video!

    mit freundlichen Grüssen
    xcopy

    Antworten
  27. Christian

    Hallo Christoph,

    tolles Tutorial, danke! Bin mir (fast!) sicher, dass ich alles nach Deinen Anweisungen gemacht habe – aber jetzt stürzt sowohl Chrome als auch der IE komplett ab,, wenn auf den Button klicke.
    Habe mal Breakpoints gesetzt und bin dann Schritt für Schritt durchgegangen – der Absturz findet genau beim Aufruf “$.ajax({” statt. Hast Du eine Idee was ich falsch gemacht habe?

    http://www.kartoffelbude.de/kontakt/

    Grüße
    Christian

    Antworten
    1. Christoph Paterok Artikelautor

      Hi Christian :)

      danke für Dein Feedback!

      Also ich glaube, dass Du grundsätzlich alles richtig gemacht hast. So wie ich sehe, nutzt Du WordPress als Basis oder?

      Hast Du die Unterseite /kontakt/ als Seite in WordPress angelegt?

      Antworten
      1. Christian

        Ja, beides richtig :-) WordPress läuft als Basis und die Seite “kontakt” ist auch in WP als Seite angelegt. Kann es an WP liegen, dass es nicht funtkioniert?

        Antworten
        1. Christoph Paterok Artikelautor

          Ja, genau daran liegt es. Was Du probieren könntest wäre folgendes:

          Ändere hier den Verweis auf die PHP Datei zum tatsächlichen Ort der Datei:

          url: "php/absenden.php"

          Das Script erwartet zur zeit die absenden.php unter:
          http://www.kartoffelbude.de/kontakt/php/absenden.php

          Da liegt diese Datei aber wahrscheinlich nicht, oder? Das wäre nämlich die Erklärung warum sich der Browser aufhängt.

          Antworten
          1. Christian

            Guter Punkt, hatte ich gar nicht gesehen! Habe jetzt einfach mal den kompletten Pfad eingetragen – allerdings immer noch ohne Erfolg….
            Noch ne weitere Idee? :-)

  28. Franz

    Also was soll ein Tutorial für etwas, was nicht funktioniert? Ich hab Deine Dateien original runtergeladen und bei mir auf nen server gepackt. hab die mail in der send.php zu meiner mailadresse geändert und das funktioniert nicht. Sorry jetzt sitz ich schon 5 Stunden an deinem Code und da funktioniert garnichts. Bitte sowas unausgereiftes nicht ins Netzt stellen, weil dann hätte ich es gleich selber schreiben können.

    Antworten
    1. Christoph Paterok Artikelautor

      Sehr gerne würde ich meinen Blog für Typen wie Dich sperren. Tschüß! Bitte hier nichts mehr lesen. Danke!

      Antworten

Hinterlasse einen Kommentar zu Steven Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>