Das Kontaktformular einer xt:Commerce-Standardinstallation (v3.04 SP2.1) gibt bei fehlerhaften Eingaben nur eine sehr allgemeine Fehlermeldung aus.
Mit dieser Modifikation wird diese Meldung so erweitert, dass dem User eine detailierte und eindeutige Fehlerbeschreibung angezeigt wird. Das verbessert die Usability beträchtlich, weil sich der User nicht erst auf die Suche begeben muss.
Zusätzlich wird geprüft, ob das Feld “Ihre Nachricht” mit Textinhalten belegt ist.
Autor: Web28
Dateigröße 52.8 KiB - Downloads bisher 422
erweiterte_fehlermeldung_kontaktformular.zip
Weitere Beiträge, die Dich interessieren könnten
6 Kommentare bei “Erweiterte Fehlermeldungen im Kontaktformular”
Kommentar schreiben
Hier findest Du Platz für Deine Meinung, Dein Lob, Deine Kritik. Bitte nutze diese Funktion nicht für Supportanfragen! Wenn Du Fragen zu Modulen, Fehlermeldungen oder ähnliches hast, bist Du in unserem offenen und freien Forum unter www.xtc-supportforum.de herzlich willkommen.



















12. Juli 2010 um 13:37 Uhr
Hallo,
super Sache, leider fehlt die Einbauanleitung für modifizierte Shops!
Kann das bitte ergänzt werden?
Velen Dank
13. Juli 2010 um 18:42 Uhr
Na, wie wäre es mal selbst Hand anzulegen und es dann allen zur Verfügung zu stellen
25. Juli 2010 um 10:12 Uhr
Hier die Anleitung. Gerade für euch erstellt.
Einfügen in lang/german/german.php am Ende vor ?>
//contact-form error messages define('ERROR_EMAIL','<b>Ihre E-Mail-Adresse:</b> Keine oder ungültige Eingabe!'); define('ERROR_VVCODE','<b>Sicherheitscode:</b> Keine Übereinstimmung, bitte geben Sie den Sicherheitscode erneut ein!'); define('ERROR_MSG_BODY','<b>Ihre Nachricht:</b> Keine Eingabe!');Einfügen in lang/english/english.php vor ?>
define('ERROR_EMAIL','<b>Your e-mail address:</b> None or invalid input!'); define('ERROR_VVCODE','<b>Security code:</b> No match, please enter your security code again!'); define('ERROR_MSG_BODY','<b>Your message:</b> No input!');Die enthaltene shop_content.php war auch schon gepatcht mit anderen Code-Fixes. Aber die Neuerungen sind kommentiert und damit gut kenntlich gemacht. Ab ca. Zeile 41/43 folgendes Einsetzen und den alten Code damit ersetzen:
// BOF - DokuMan - 2009-05-29 - added shopstat bugfix //-- SHOPSTAT --// //$breadcrumb->add($shop_content_data['content_title'], xtc_href_link(FILENAME_CONTENT.'?coID='.(int) $_GET['coID'])); $breadcrumb->add($shop_content_data['content_title'], xtc_href_link(FILENAME_CONTENT,'coID='.(int) $_GET['coID'])); //-- SHOPSTAT --// // EOF - DokuMan - 2009-05-29 - added shopstat bugfix if ($_GET['coID'] != 7) { require (DIR_WS_INCLUDES.'header.php'); } if ($_GET['coID'] == 7 && $_GET['action'] == 'success') { require (DIR_WS_INCLUDES.'header.php'); } $smarty->assign('CONTENT_HEADING', $shop_content_data['content_heading']); if ($_GET['coID'] == 7) { $error = false; if (isset ($_GET['action']) && ($_GET['action'] == 'send')) { //BOF - Dokuman - 2009-09-04: convert uppercase Captchas to lowercase, to be more flexible on user input //BOF TEST EMPTY MESSAGE_BODY if (xtc_validate_email(trim($_POST['email'])) && (strtoupper($_POST['vvcode']) == $_SESSION['vvcode']) && $_SESSION['vvcode']!='' && trim($_POST['message_body'])!='') { //EOF TEST EMPTY MESSAGE_BODY //EOF - Dokuman - 2009-09-04: convert uppercase Captchas to lowercase, to be more flexible on user input xtc_php_mail($_POST['email'], $_POST['name'], CONTACT_US_EMAIL_ADDRESS, CONTACT_US_NAME, CONTACT_US_FORWARDING_STRING, $_POST['email'], $_POST['name'], '', '', CONTACT_US_EMAIL_SUBJECT, nl2br($_POST['message_body']), $_POST['message_body']); if (!isset ($mail_error)) { xtc_redirect(xtc_href_link(FILENAME_CONTENT, 'action=success&coID='.(int) $_GET['coID'])); } else { $smarty->assign('error_message', $mail_error); } } else { // error report hier einbauen //BOF NEW ERROR MESSAGE $err_msg = ''; if (!xtc_validate_email(trim($_POST['email']))) $err_msg .= ERROR_EMAIL; if (strtoupper($_POST['vvcode']) != $_SESSION['vvcode']) $err_msg .= ERROR_VVCODE; if (trim($_POST['message_body']) == '') $err_msg .= ERROR_MSG_BODY; $smarty->assign('error_message', ERROR_MAIL . $err_msg); //EOF NEW ERROR MESSAGE $error = true; } }11. September 2010 um 13:49 Uhr
funzt bei mir leider nicht, eine bessere Installationsanleitung bzw. geänderte Passagen wäre hilfreich, da mein code ganz anders aussieht
12. September 2010 um 02:37 Uhr
für alle die Gambio GX im Einsatz haben, sollten diese Anleitung befolgen:
Einfügen in lang/german/german.php am Ende vor ?>
//contact-form error messages define('ERROR_NAME','<b>Ihr Name:</b> Keine Eingabe!'); define('ERROR_EMAIL','<b>Ihre E-Mail-Adresse:</b> Keine oder ungültige Eingabe!'); define('ERROR_VVCODE','<b>Sicherheitscode:</b> Keine Übereinstimmung, bitte geben Sie den Sicherheitscode erneut ein!'); define('ERROR_MSG_BODY','<b>Ihre Nachricht:</b> Keine Eingabe!');Code in shop_content.php suchen
} else { $smarty->assign('error_message', GM_CONTACT_ERROR_WRONG_VVCODE); $error = true; }und ersetzen mit
} else { // error report hier einbauen //BOF NEW ERROR MESSAGE $err_msg = ''; if (trim($_POST['name']) == '') $err_msg .= ERROR_NAME; if (!xtc_validate_email(trim($_POST['email']))) $err_msg .= ERROR_EMAIL; if (strtoupper($_POST['vvcode']) != $_SESSION['vvcode']) $err_msg .= ERROR_VVCODE; if (trim($_POST['message_body']) == '') $err_msg .= ERROR_MSG_BODY; $smarty->assign('error_message', ERROR_MAIL . $err_msg); //EOF NEW ERROR MESSAGE $error = true; }im Admin-Panel kann man ebenfalls eine Änderung setzen:
- Texte anpassen
- ERROR-MAIL
- Bitte überprüfen Sie Ihre eingegebenen Daten im Formular.
Live-Demo hier:
http://www.sound-pressure.de/info/mein-kontakt.html
28. Dezember 2010 um 10:47 Uhr
Funzt bestens.
Vielen Dank!