Contao-Camp 2024
Ergebnis 1 bis 11 von 11

Thema: Nichtfunktionierendes Kontaktformular

  1. #1
    Community-Moderator & Contao-Urgestein Avatar von derRenner
    Registriert seit
    23.10.2012.
    Ort
    hoRn|waldviertel
    Beiträge
    2.849
    Contao-Projekt unterstützen

    Support Contao

    Standard Nichtfunktionierendes Kontaktformular

    Hallo,

    ich habe hier einen Kunden, der sich ein template zugekauft hat (rein CSS, HTML5, JS, php, ...), welches nun soweit eingebaut wurde - aber ich bekomme das Kontaktformular nicht zum Laufen.

    index.html
    PHP-Code:
    <div id="contact-form">
                                        <
    form action="contact.php"  id="form" method="post" name="send">
                                            <
    div class="col-md-4">
                                                <
    input class="requiredField name" id="name" name="name" placeholder="Name" type="text">
                                            </
    div>
                                            <
    div class="col-md-4">
                                                <
    input class="requiredField email" id="email" name="email" placeholder="Email" type="text">
                                            </
    div>
                                            <
    div class="col-md-4">
                                                <
    input class="requiredField subject" id="subject" name="subject" placeholder="Betreff" type="text">
                                            </
    div>
                                            <
    div class="make-space">
                                                <
    textarea class="requiredField message" id="message" name="message" placeholder="Nachricht"></textarea>
                                            </
    div>
                                            <
    div>
                                                <
    button class="submit-button" id="submit" type="submit">Absenden</button>
                                            </
    div>
                                        </
    form
                                    </
    div
    contact.php
    PHP-Code:
    <?php 
    $errors 
    '';
    $myemail 'info@fokuspunkt.at';
    if(empty(
    $_POST['name'])  ||
       empty(
    $_POST['email']) ||
       empty(
    $_POST['subject']) ||
       empty(
    $_POST['message']))
    {
    $errors .= "\n Error: Required Field";
    }

    $name $_POST['name'];
    $email $_POST['email'];
    $subject $_POST['subject'];
    $message $_POST['message'];

    if (!
    eregi(
    "^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$"
    $email))
    {
    $errors .= "\n Error: Invalid Email Address";
    }

    if( empty(
    $errors))
    {
    $to $myemail;
    $email_subject "$subject";
    $email_body "\n Name: $name \n Email: $email \n Subject: $subject \n Message: \n $message";
    $headers "From: $email";

    mail($to$email_subject$email_body$headers);
    }
    ?>
    und dann gibt's noch ein *.js Datei, die mit einigen Dingen gespickt ist - unter anderem der Punkt 'contact form'
    PHP-Code:
        $("form#form").on("submit", function() {
            $(
    "form#form .error").remove();
            var 
    = !1;
            if ($(
    ".requiredField").each(function() {
                    if (
    "" === jQuery.trim($(this).val())) $(this).prev("label").text(), $(this).parent().append('<span class="error">Bitte das Feld ausfüllen</span>'), $(this).addClass(
                        
    "inputError"), = !0;
                    else if ($(
    this).hasClass("email")) {
                        var 
    = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
                        
    r.test(jQuery.trim($(this).val())) || ($(this).prev("label").text(), $(this).parent().append('<span class="error">keine korrekte Email-Adresse</span>'), $(this).addClass(
                            
    "inputError"), = !0);
                    }
                }), !
    s) {
                $(
    "form#form input.submit").fadeOut("normal", function() {
                    $(
    this).parent().append("");
                });
                var 
    = $(this).serialize();
                $.
    post($(this).attr("action"), r, function() {
                    $(
    "form#form").slideUp("fast", function() {
                        $(
    this).before('<div class="success">Ihre Nachricht wurde erfolgreich versendet.</div>');
                    });
                });
            }
            return !
    1;
        }); 
    Wenn ich mir die Zusammenhänge anschaue, dann sollte alles korrekt eingetragen sein und auch funktionieren - aber irgendetwas habe ich wohl übersehen oder verstehe ich nicht ... der Klick auf den <<button> bewirkt genau nichts - keine subscribe-message und auch keine email.

    Hat jemand den korrekten Blick, wo es haken könnte?
    Vielen Dank schon mal!

    Bemerkung: auf der Seite ist das Kontaktformular zur Zeit nicht eingeblendet ...
    Grüsse
    Bernhard


  2. #2
    Contao-Urgestein Avatar von fiedsch
    Registriert seit
    09.07.2009.
    Ort
    München
    Beiträge
    2.935

    Standard

    1. Wieso verwendest Du nicht Contao für das Fromular (und dann auch Contaos Meachnismus zum Verschicken der Formulardaten per E-Mail)
    2. Das PHP-Skript: "Kannste schon so machen, ist halt ..." nicht so toll
    3. Was sagt die Entwickler-Lonsole des Browsers: wir contact.php aufgerufen?
    4. Was passiert, wenn Du contact.php direkt aufrufst. Ohne die Post-Parameter müsstest Du eine Fehlermeldung bekommen. Bekommst Du die?
    Contao-Community-Treff Bayern: http://www.contao-bayern.de

  3. #3
    Wandelndes Contao-Lexikon Avatar von BugBuster
    Registriert seit
    15.06.2009.
    Ort
    Berlin
    Beiträge
    10.496
    User beschenken
    Wunschliste

    Standard

    Falls Du PHP 7.0 oder höher im Einsatz hast, Pech gehabt. Dein Script ist nicht PHP 7 kompatibel, die Funktion "eregi()" gibt es nicht mehr.
    Es sollten aber Fehlermeldungen irgendwo kommen (error.log vom Webserver zum Beispiel)
    Grüße, BugBuster
    "view source" is your guide.
    Danke an alle Amazon Wunschlisten Erfüller

  4. #4
    Community-Moderator & Contao-Urgestein Avatar von derRenner
    Registriert seit
    23.10.2012.
    Ort
    hoRn|waldviertel
    Beiträge
    2.849
    Contao-Projekt unterstützen

    Support Contao

    Standard

    @BugBuster ... ja, ist 'ne php7 - OK, dann weiss ich schon mal, wo ich anpacken kann
    @fiedsch ... wie könnte ich das Contao-Formular verwenden, wenn ich Contao nicht installiert habe? Gibt's da 'ne Möglichkeit dazu? (Sofern es nicht eindeutig rauszulesen war: es handelt sich um ein Nicht-Contao-template - darum auch im OffTopic Forum)
    Grüsse
    Bernhard


  5. #5
    Contao-Urgestein Avatar von fiedsch
    Registriert seit
    09.07.2009.
    Ort
    München
    Beiträge
    2.935

    Standard

    Zitat Zitat von derRenner Beitrag anzeigen
    @fiedsch ... wie könnte ich das Contao-Formular verwenden, wenn ich Contao nicht installiert habe? Gibt's da 'ne Möglichkeit dazu? (Sofern es nicht eindeutig rauszulesen war: es handelt sich um ein Nicht-Contao-template - darum auch im OffTopic Forum)
    Sorry, das hatte ich nicht rausgelesen -- ich greife auf's Forum meist über "neue Beiträge" zu und schaue nicht wirklich, in welchem Unterforum ich dann bin.

    Wenn Du keine Contao-Installation hast, dann wir es mit dem Contao-Kontaktformular natürlich nichts.

    Neben dem eregi, das @bugbuster bereits erwähnt hat sehe ich bei der E-Mail-Validierung noch das Problem, daß bei der Top-Level-Domain [a-z]{2,3} also zwei oder drei Buchstaben werwartet werden. EWs gibt mittlerweile aber etliche längere TLD. Vielleicht hilft Dir als Alternative http://php.net/manual/de/filter.examples.validation.php
    Contao-Community-Treff Bayern: http://www.contao-bayern.de

  6. #6
    Community-Moderatorin & Contao-Urgestein Avatar von mlweb
    Registriert seit
    10.07.2011.
    Beiträge
    6.715
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Der Datenschutz hat m.E. auch etwas gegen den Formularversand per PHP.
    Ich habe Dir mit meinen Hinweisen geholfen und Du möchtest Dich bedanken?
    Unterstütze bitte das Contao-Projekt (Button Links)
    Weitere Spendenmöglichkeiten
    ------------------------------------------------------------------------------------------------------
    Contao-Dokumentation: Contao-Handbuch und Contao-Entwickler-Doku
    Contao-Online-Video-Kurse: Contao Academy
    Funktionalität erweitern: Contao-Erweiterungen

    Für Dinge die man mit html5 und css3 lösen kann, braucht man kein javascript.




  7. #7
    Contao-Urgestein Avatar von fiedsch
    Registriert seit
    09.07.2009.
    Ort
    München
    Beiträge
    2.935

    Standard

    Zitat Zitat von mlweb Beitrag anzeigen
    Der Datenschutz hat m.E. auch etwas gegen den Formularversand per PHP.
    Du meinst "der übermittelten Daten per (unverschlüsselter) E-Mail"? Ich wüsste ansonsten nicht, inwiefern die verwendete Programmiersprache eine Rolle spielen würde. Und verarbeiten sollte man Formulardaten dürfen, sonst brauche ich erst gar kein Formular. Ich muss natürlich erklären, was und begründen, warum.
    Contao-Community-Treff Bayern: http://www.contao-bayern.de

  8. #8
    Community-Moderatorin & Contao-Urgestein Avatar von mlweb
    Registriert seit
    10.07.2011.
    Beiträge
    6.715
    Contao-Projekt unterstützen

    Support Contao

    Standard

    @fiedsch Genau ich meine die unverschlüsselte Übermittlung der Daten bei Mailversand über PHP.
    Ich habe Dir mit meinen Hinweisen geholfen und Du möchtest Dich bedanken?
    Unterstütze bitte das Contao-Projekt (Button Links)
    Weitere Spendenmöglichkeiten
    ------------------------------------------------------------------------------------------------------
    Contao-Dokumentation: Contao-Handbuch und Contao-Entwickler-Doku
    Contao-Online-Video-Kurse: Contao Academy
    Funktionalität erweitern: Contao-Erweiterungen

    Für Dinge die man mit html5 und css3 lösen kann, braucht man kein javascript.




  9. #9
    Community-Moderator & Contao-Urgestein Avatar von derRenner
    Registriert seit
    23.10.2012.
    Ort
    hoRn|waldviertel
    Beiträge
    2.849
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Das heisst, Daten werden trotz HTTPS bei einem php-Formular nicht verschlüsselt übermittelt? Oder wie genau darf ich das verstehen? Hast du Quellen, wo ich mir das mal nachlesen kann. Im Speziellen wie das anderswertig gelöst werden kann - also ohne php Scripts.

    Gesendet von meinem SM-G960F mit Tapatalk
    Grüsse
    Bernhard


  10. #10
    Contao-Urgestein Avatar von fiedsch
    Registriert seit
    09.07.2009.
    Ort
    München
    Beiträge
    2.935

    Standard

    Die Daten werden mit https an den Server verschlüsselt übertragen. Das Problem wäre dann der anschließende unverschlüsselte Versand dieser Daten per E-Mail! Mit welcher Programmiersprache das gemacht wird spielt dabei natürlich keine Rolle.
    Contao-Community-Treff Bayern: http://www.contao-bayern.de

  11. #11
    Contao-Nutzer
    Registriert seit
    30.12.2010.
    Beiträge
    210

    Standard

    Das Formular selbst dürfte bzgl. Sicherheit so auch nicht in Ordnung sein (Header-Injection). So bitte nicht verkaufen.
    Gruß CeeKay

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •