Neuigkeiten
  • Die modified eCommerce Shopsoftware ist kostenlos, aber nicht umsonst.
    Spenden
  • Damit wir die modified eCommerce Shopsoftware auch zukünftig kostenlos anbieten können:
    Spenden
  • Thema: MODUL: Kontaktformular mit detaillierter Fehlermeldung

    web28

    • modified Team
    • Beiträge: 9.404
    Hallo,

    das Kontaktformular gibt bei fehlerhaften Eingaben nur eine allgemeine Fehlermeldung aus.

    Das habe ich mal eben schnell geändert.

    Zusätzlich wird das Ihre Nachricht Textfeld auf Textinhalt geprüft.

    Gruss Web28

      [ Für Gäste sind keine Dateianhänge sichtbar ]



    Linkback: https://www.modified-shop.org/forum/index.php?topic=2037.0

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.369
    • Geschlecht:
    MODUL: Kontaktformular mit detaillierter Fehlermeldung
    Antwort #1 am: 16. September 2009, 15:57:06
    Na hoppala... wie schick ist das denn?
    Vielen Dank für's Tüfteln!
    Kann das bitte jemand mit gutem Englisch übersetzen?

    Code: PHP  [Auswählen]
    define('ERROR_EMAIL','<br><br><b>Ihre E-Mail-Adresse:</b> Keine oder ungültige Eingabe!');
    define('ERROR_VVCODE','<br><br><b>Sicherheitscode:</b> Keine Übereinstimmung, bitte geben Sie den Sicherheitscode erneut ein!');
    define('ERROR_MSG_BODY','<br><br><b>Ihre Nachricht:</b> Keine Eingabe!');

    Danke...

    Grüße

    Torsten

    DokuMan

    • modified Team
    • Beiträge: 6.669
    • Geschlecht:
    MODUL: Kontaktformular mit detaillierter Fehlermeldung
    Antwort #2 am: 16. September 2009, 16:47:19
    @web28: Bist du SICHER, dass du nicht DOCH SVN-Kenntnisse haben willst? ;)

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.369
    • Geschlecht:
    MODUL: Kontaktformular mit detaillierter Fehlermeldung
    Antwort #3 am: 16. September 2009, 18:42:10
    Denk ich mir auch schon länger... =)

    Trotzdem brauchen wir noch eine Übersetzung. *g*

    jannemann

    • modified Team
    • Beiträge: 6.275
    • Geschlecht:
    MODUL: Kontaktformular mit detaillierter Fehlermeldung
    Antwort #4 am: 16. September 2009, 19:09:22
    hi,

    ich übersetze euch das!

    schönen gruß,
    jan

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.369
    • Geschlecht:
    MODUL: Kontaktformular mit detaillierter Fehlermeldung
    Antwort #5 am: 16. September 2009, 19:16:08
    Na dann mal los... dann kann ich das heute noch einbauen. ;-)

    jannemann

    • modified Team
    • Beiträge: 6.275
    • Geschlecht:
    MODUL: Kontaktformular mit detaillierter Fehlermeldung
    Antwort #6 am: 16. September 2009, 19:46:58
    hi,

    here we go :-)

    Code: PHP  [Auswählen]
    define('ERROR_EMAIL','<br><br><b>Your e-mail address:</b> None or invalid input!');
    define('ERROR_VVCODE','<br><br><b>Security code:</b> No match, please enter your security code again!');
    define('ERROR_MSG_BODY','<br><br><b>Your message:</b> No input!');
    schönen gruß,
    jan

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.369
    • Geschlecht:
    MODUL: Kontaktformular mit detaillierter Fehlermeldung
    Antwort #7 am: 16. September 2009, 21:37:19
    Perfekt!

    Fertiges Modul oben im ersten Beitrag aktualisiert!

    Integriert in r310.

    Grüße

    Torsten

    speedy

    • Viel Schreiber
    • Beiträge: 3.214
    MODUL: Kontaktformular mit detaillierter Fehlermeldung
    Antwort #8 am: 16. September 2009, 22:45:13
    Hallo,

    da gönnt man sich mal nen freien Abend, um den Stress der letzten Wochen abzubauen und den Kopf freizukriegen und dann sowas. :)

    Vielen Dank für deine Mühe web28, sieht gut aus.

    Muss ich gleich mal gucken wie du das gemacht hast, evtl. will mir auf dieser Basis die Umsetzung fehlerhaften Eingaben ala http://www.yaml.de/fileadmin/examples/01_layouts_basics/building_forms.html# gelingen, oder zumindest das Inputfeld rot hervorgehoben, wenns doch zu "aufdringlich" wirkt ;)

    Bzw. wollen wir nicht gleich ein erweitertes Kontaktformular in den Trunk aufnehmen, wie Erweitertes Kontaktformular

    Mir gefällt aber das aus dem Anhang besser, es füllt auch gleich die Kundendaten aus, wenn man eingeloggt ist und gefällt mir auch von der Programmierung besser.
    Die komplette Anschrift + Firma + Telefon braucht man imho in nem Shop.

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.369
    • Geschlecht:
    MODUL: Kontaktformular mit detaillierter Fehlermeldung
    Antwort #9 am: 17. September 2009, 08:37:17
    Die Vorbelegung von Namen, E-Mail, etc. kannst du natürlich auch im erweiterten Kontaktformular von estelco hinzufügen.

    Grüße

    Torsten

    speedy

    • Viel Schreiber
    • Beiträge: 3.214
    MODUL: Kontaktformular mit detaillierter Fehlermeldung
    Antwort #10 am: 22. September 2009, 13:59:17
    Ich hätte eine Anregung zu "Kontaktformular mit Daten vorbelegen".
    Aktuell wird nur der Name und die eMail-Adresse im Kontaktformular vorbelegt. Gut aktuell gibt es auch nur so ein minimal Kontaktformular.

    Aus meiner Sicht spricht jedoch nichts dagegen das Source-seitig so vorzubereiten, dass alle bekannten Kundendaten vorbelegt werden können, wenn der Kunde eingeloggt das Kontaktformular bedient.

    Folgende Lösung hab ich aus einem Modul und geändert bzw. erweitert.
    Vorteil, es ist die kompakteste Lösung und noch dazu mal verständlich.
    Man muss zum Erweitern nur mit phpMyAdmin in die Datenbank Tabellen customers oder adress book sehen und sich die benötigten Feldnamen rausschreiben.

    Standard modified eCommerce Shopsoftware aktuell ist folgendes in der shop_content.php:

    Code: PHP  [Auswählen]
                    if (isset ($_SESSION['customer_id'])) {
                            $customers_name = $_SESSION['customer_first_name'].' '.$_SESSION['customer_last_name'];
          //BOF - Dokuman - 2009-09-04: preallocate email address on contact form
                            //$email_address = $_SESSION['customer_email_address'];
                            $c_query = xtc_db_query("SELECT * FROM ".TABLE_CUSTOMERS." WHERE customers_id='".$_SESSION['customer_id']."'");
                            $c_data = xtc_db_fetch_array($c_query);
          $email_address = $c_data['customers_email_address'];
          //EOF - Dokuman - 2009-09-04: preallocate email address on contact form
                    }
     
    Einfacher und sinnvoller wäre imho das hier:

    Code: PHP  [Auswählen]
                    if (isset ($_SESSION['customer_id'])) {
                            $customerQuery = xtc_db_query("SELECT * FROM ".TABLE_CUSTOMERS." c, ".TABLE_ADDRESS_BOOK." ab WHERE c.customers_id = '".(int) $_SESSION['customer_id']."' and c.customers_id = ab.customers_id");
                            $customer_data = xtc_db_fetch_array($customerQuery);
                    }
     
    Das Vorbelegen selbst funktioniert dann damit:

    Code: PHP  [Auswählen]
                    $smarty->assign('VVIMG', '<img src="'.xtc_href_link(FILENAME_DISPLAY_VVCODES).'" alt="Captcha" />');
                    $smarty->assign('INPUT_CODE', xtc_draw_input_field('vvcode', '', 'size="8" maxlength="6"', 'text', false));
                    $smarty->assign('INPUT_NAME', xtc_draw_input_field('name', ($error ? xtc_db_input($_POST['name']) : $customer_data['entry_firstname'] . " " . $customer_data['entry_lastname']), 'size="30"'));
                    $smarty->assign('INPUT_FIRMA', xtc_draw_input_field('firma', ($error ? $_POST['firma'] : $customer_data['entry_company'])));
                    $smarty->assign('INPUT_STRASSE', xtc_draw_input_field('strasse', ($error ? $_POST['strasse'] : $customer_data['entry_street_address'])));
                    $smarty->assign('INPUT_PLZ', xtc_draw_input_field('plz', ($error ? $_POST['plz'] : $customer_data['entry_postcode'])));
                    $smarty->assign('INPUT_ORT', xtc_draw_input_field('ort', ($error ? $_POST['ort'] : $customer_data['entry_city'])));
                    $smarty->assign('INPUT_TELEFON', xtc_draw_input_field('telefon', ($error ? xtc_db_input($_POST['telefon']) : $customer_data['customers_telephone']), 'size="30"'));
                    $smarty->assign('INPUT_FAX', xtc_draw_input_field('fax', ($error ? xtc_db_input($_POST['fax']) : $customer_data['customers_fax']), 'size="30"'));
                    $smarty->assign('INPUT_EMAIL', xtc_draw_input_field('email', ($error ? xtc_db_input($_POST['email']) : $customer_data['customers_email_address']), 'size="30"'));
                    $smarty->assign('INPUT_TEXT', xtc_draw_textarea_field('message_body', 'soft', 50, 15, ($error ? xtc_db_input($_POST['message_body']) : $message_body)));
                    $smarty->assign('BUTTON_SUBMIT', xtc_image_submit('button_continue.gif', IMAGE_BUTTON_CONTINUE));
                    $smarty->assign('FORM_END', '</form>');
     
    Also ausschlaggebend ist z.B. das hier:

    Code: PHP  [Auswählen]
    $customer_data['entry_company']
    Statt entry_company muss nur das entsprechende DB-Feld rein, oder eben meinen Code übernehmen.

    Wem das Standard-Formular nicht ausreicht, muss im Template dann nur noch die contact_us.html erweitern.
    Zusätzlich muss noch der Bereich um xtc_php_mail( in der shop_content.php geändert werden.
    Ein Beispiel im ZIP anbei.
    Habs auf Basis von Trunk 321 so geändert wie ich mir das vorstelle.
    Ist ungetestet da ich mehrere Formulare im Shop habe und es dann in einigen Bereich anders aussieht, sollte jedoch funktionieren. Die Änderungen zum derzeitigen Standard sind gering, es wird nur erweitert, Kern ist gleich.

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.369
    • Geschlecht:
    MODUL: Kontaktformular mit detaillierter Fehlermeldung
    Antwort #11 am: 22. September 2009, 15:55:50
    Schicke Sache... Hab es mir mal angeschaut, mal schauen, was die anderen dazu sagen. Geht ja demokratisch zu hier. ;-)

    Grüße

    Torsten

    14 Antworten
    10115 Aufrufe
    11. November 2012, 17:43:07 von jannemann
    1 Antworten
    1798 Aufrufe
    24. März 2018, 17:45:59 von mahagma
    5 Antworten
    4646 Aufrufe
    30. Juli 2010, 13:55:59 von styledup