Kontaktformular fertig für den Einsatz

Read-Only-Modus

Das 01-Supportforum befindet sich im Read-Only-Modus. Es ist nicht mehr möglich sich zu registrieren, neue Themen zu erstellen oder auf bestehende Themen zu antworten.

Alle Inhalte stehen bis auf absehbare Zeit jedoch weiterhin lesend zur Verfügung.


Bei Fehlern oder Problemen mit PHP-Scripten von 01-Scripts.de erstellen Sie gerne einen Issue-Eintrag auf Github oder nehmen Sie per E-Mail Kontakt auf.

  • Hallo,
    ich habe gerade das Kontaktformular auf meine Webseite eingebaut.


    Der Spamschutz wird mir auch richtig anzeigt, doch wenn ich den Code eingebe erhalte ich die Fehlermeldung: "Sie haben nicht alle benötigen Felder (*) ausgefüllt oder den Spamschutzcode nicht richtig eingegeben."


    Es kann evtl. sein, dass dies mit folgendem Bugs https://bugs.php.net/bug.php?id=68776zusammen hängt, der seit ein paar Tagen bei meinem Provider eingebaut worden ist. Da ich bei diesem Provider mit anderen Kontaktformularen ebenfalls Probleme habe.


    Für Hilfe wäre ich sehr dankbar.


    Viele Grüße


    Marion Niggl





    --> Problem hat sich erledigt. War ein Fehler von meiner Seite.

  • Hallo Herr Lorer,


    vielen Dank für das Kontaktformular. Soweit funktioniert es sehr gut.


    Trotzdem habe ich auch ein Problem und zwei Fragen.


    Das Problem ist, dass bei der Email der Zeichensatz falsch ausgegeben wird, d. h. die Umlaute ä, ü, usw. werden nicht richtig dargestellt.
    Beispiel:


    Straße: Röthenbachstraße 11




    Dann würde ich gerne noch Checkboxen einfügen und Auswahlformularfelder.
    Wie müssen diese übergeben werden, damit die Werte angezeigt werden?


    Desweiteren habe ich auf der Homepage von Prem ein Kurzformular, dessen Werte in das Kontaktformular übernommen werden soll.
    Bisher habe ich die Felder schon in beiden Formularen gleich benannt, jedoch wird der Wert vom Kurzformular nicht in das große Formular übernommen.


    Vielen Dank für Ihre Hilfe.


    Marion Niggl

  • Hallo,


    ich bitte die verspätete Antwort zu entschuldigen.


    Zitat

    Das Problem ist, dass bei der Email der Zeichensatz falsch ausgegeben wird, d. h. die Umlaute ä, ü, usw. werden nicht richtig dargestellt.
    Beispiel:


    Straße: Röthenbachstraße 11


    Das Problem sollte sich evtl. lösen lassen indem Sie folgende Zeile in der kontaktformular.php-Datei:

    PHP
    1. $header = "From:".$absender."<".$absender.">";


    ändern in:

    PHP
    1. $header = "Content-Type: text/html; charset=UTF-8\r\n"."From:".$absender."<".$absender.">";


    Zitat

    Dann würde ich gerne noch Checkboxen einfügen und Auswahlformularfelder.
    Wie müssen diese übergeben werden, damit die Werte angezeigt werden?


    Checkboxen und Auswahlfelder werden prinzipiell genau so behandelt wie normale Eingabefelder. Wo liegt hier das konkrete Problem/Frage?


    Zitat

    Desweiteren habe ich auf der Homepage von Prem ein Kurzformular, dessen Werte in das Kontaktformular übernommen werden soll.
    Bisher habe ich die Felder schon in beiden Formularen gleich benannt, jedoch wird der Wert vom Kurzformular nicht in das große Formular übernommen.


    Hier verstehe ich leider die Frage nicht.


    MfG,
    Michael

  • Hallo Herr Lorer,
    leider habe ich erst heute entdeckt, dass Sie mir geantwortet haben.


    Das Problem mit den Umlauteten hat sich erledigt.


    Ich habe jetzt mal das Formular angehängt, das ich erstellt habe.
    Leider werden mir die Werte der Checkboxen und Selectfelder nicht ausgewertet und weitergeben, d.h. dass die Werte bei Falscheingaben im Formular nicht wieder angezeigt werden, wie z.B. der Name und auch als Email nicht mitverschickt werden. Hier wird mir sicher noch eine Angabe fehlen. Leider komme ich selber nicht drauf.


    Die zweite Sache ist die, dass auf einigen Homeage die ich erstellt habe, das Formular "reservierung.php" auf der Startseite der Homepages eingebaut ist. Dabei können ein Anreise und Abreisedatum eingeben werden. Beim Absenden dieses Formulares springt man auf das eigentliche Kontaktformular "kontaktformular3.php". Leider werden dann in diesem die Werte für das Anreise- und Abreisedatum nicht übernommen also nicht in die Felder An- und Abreise eingetragen. Beide Anreisefelder (also in der reservierung.php und im kontaktformular3.php) haben den gleichen Namen. Diese Funktion wäre mir sehr wichtig.


    Als Test des ganzen habe ich auf meiner Homepage das ganze mal eingebaut. Rechts das kleine Formular (reservierung.php) das dann in die kontaktformular3.php geschrieben werden sollen.


    Hier die reservierung.php

    Code
    1. <form action="http://www.marions-webdesign.de/anfragen3.php" method="post">
    2. <div class="clearfix"><label>Anreise:</label><input type="text" name="anreise" class="tcal" value="" /></div>
    3. <div class="clearfix"><label>Abreise:</label><input type="text" name="abreise" class="tcal" value="" /></div>
    4. <p><input type="submit" class="klein" value="Anfrage senden" /></p>
    5. </form>
  • und hier das kontaktformular3.php


    Ich hoffe Sie können mir bald weiterhelfen.
    Vielen Dank

  • Hallo Herr Lorer,


    das Problem mit der Datenübernahme aus dem Formular "reservierung.php" konnte ich inzwischen so lösen:


    Jedoch ist es nun so, dass wenn das Kontaktformular nicht korrekt ausgefüllt werden, diese Daten nicht mehr übernommen werden. D. h. das Anreise- und Abreisefeld bleibt leer.


    Wurde das Formular richtig ausgefüllt werden die Daten auch richtig per Email versandt.


    Allerdings habe ich immer noch keinen Plan, welche Eingabe mir bei den Auswahlfelder und den Checkboxen fehlt, damit die Werte weitergeben werden.


    Ich wäre Ihnen wirklich sehr dankbar, wenn Sie mir möglichst schnell weiterhelfen könnten, da ich dieses Formular auf einigen Seiten benötige, wo die Kontaktformulare aufgrund einer Umstellung von PHP nicht mehr funktionieren.


    Vielen Dank.

  • Hallo,


    leider werden sich die Problem ob des Umfangs nicht vollständig im Rahmen des kostenlosen Supportforums lösen lassen.
    Ich versuche trotzdem nochmal etwas weiterzuhelfen:


    Zitat

    Allerdings habe ich immer noch keinen Plan, welche Eingabe mir bei den Auswahlfelder und den Checkboxen fehlt, damit die Werte weitergeben werden.


    Checkboxen und Auswahllisten funktionieren anders als normale Textfeld was die Ein- und Ausgabe von Werten betrifft.
    Informationen dazu z.B. hier:
    http://wiki.selfhtml.org/wiki/HTML/Formulare/Auswahllisten
    http://wiki.selfhtml.org/wiki/HTML/Formulare/Radio-Buttons


    Um hier also Formularfelder mit vordefinierten Werten zu belegen brauchen Sie vermutlich eine Funktion ähnlich wie hier:
    https://github.com/01-Scripts/…ystem/functions.php#L2274


    Zitat

    In dieser Version ist es wieder so, dass wenn Dateianhänge versandt werden, die Emails als Textdatei versandt wird.
    Ohne Anhang funktioniert es als HTML-Email in der alle Angaben farblich formatiert sind.


    Hier kann ich ihnen leider nicht weiterhelfen.
    In diesem Fall dürfte einfach die PHP-Eigene mail()-Funktion an ihre Grenzen kommen. Bzw. es ist nicht trivial die E-Mail so korrekt zu formatieren, dass sowohl Anhänge als auch der HTML-Inhalt korrekt dargestellt wird.
    Mittlerweile würde ich für die Versendung eines Kontaktformulars deshalb auch auf diese PHP-Klasse für den Versand umsteigen:
    https://github.com/PHPMailer/PHPMailer


    Ich hoffe Sie kommen mit diesen Hinweisen weiter.
    Ansonsten können Sie mich gerne auch für kostenpflichtige Programmierarbeiten ansprechen.


    MfG,
    Michael Lorer

  • Hallo Herr Lorer,


    ich hatte es bereits vor Ihrer Antwort geschafft mein Kontaktformular so zusammen basteln wie ich es brauche.
    Jetzt funktionieren die Checkboxen und die Auswahlfelder, ebenso die Datenübernahme aus dem kleinen Formular.


    Viele Grüße


    Marion Niggl

  • ich rufe meine Emails mit Office 365 Home - Outlook 2013 ab.
    In dieser Version ist es wieder so, dass wenn Dateianhänge versandt werden, die Emails als Textdatei versandt wird.
    Ohne Anhang funktioniert es als HTML-Email in der alle Angaben farblich formatiert sind.


    Problem gelöst!

  • Hallo habe das Kontaktformular eingebaut Funktioniert auch nur ein kleiner Schönheitsfehler beim Empfang der Nachricht wird als Absender beispiel@mail.debeispielmail.de angezeigt. Ich würde mir wünschen das nur die Adresse beispiel@mail.de einfach angezeigt wird. Wo muss man da ansetzen?


    Hallo,
    bitte suchen Sie in der kontaktformular.php-Datei nach (kommt 2x vor):

    PHP
    1. $header = "From:".$absender."<".$absender.">";


    Und ersetzen Sie es durch:

    PHP
    1. $header = "From:".$absender."";


    MfG,
    Michael