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: PLZ Format bei anmeldung

    Firebird

    • Frisch an Board
    • Beiträge: 75
    PLZ Format bei anmeldung
    am: 08. Dezember 2016, 11:52:59
    Hallo modiefied Community,

    gibt es eine Möglichkeit die Gast & Kundenkonto Anmeldung so abzuändern, dass bei Angabe der PLZ geprüft wird ob diese 5 stellig ist und keine Buchstaben enthält?

    Wenn ja wo und wie wäre das möglich?

    Da Kunden auch nur Menschen sind, gibt es hier oft Fehler seitens der Kunden -jedoch reagieren diese manchmal sehr sauer wenn die Lieferung nicht klappt (mal abgesehen davon das es jedesmal Fakturafehler und ERP Fehler gibt)

    Ich habe schon verschiedene threads durch aber meistens bin ich mir bei der Version unsicher oder bei der benötigten Stelle wo das hinterlegt werden müsste.

    Es wäre schön wenn mir da jemand einen Tipp/ eine Lösung vorschlagen könnte.

    Gruß

    Firebird

    Linkback: https://www.modified-shop.org/forum/index.php?topic=36188.0
    rechtstexte für onlineshop

    Bonsai

    • Viel Schreiber
    • Beiträge: 4.127
    • Geschlecht:
    Re: PLZ Format bei anmeldung
    Antwort #1 am: 09. Dezember 2016, 10:30:28
    Mit    
    Code: XML  [Auswählen]
    pattern="\d{5}"
    im Eingabefeld kann man die Eingabe von unsinnigen Postleitzahlen verhindern, allerdings gehen dann nur noch Länder die 5Stellige PLZ aus nur Zahlen haben.
    http://pattern.tfcpc.de/pattern-tutorial.php

    Bist du sicher, dass Du nur in Länder liefern willst, die 5 Stellige Postleitzahlen haben?

    Man könnte es auch so bauen, dass es nur warnt, und auch nur wenn bestimmte Länder ausgewählt sind.

    Firebird

    • Frisch an Board
    • Beiträge: 75
    Re: PLZ Format bei anmeldung
    Antwort #2 am: 09. Dezember 2016, 11:56:58
    Danke für die Antwort,

    da wir ausschließlich in Deutschland unsere Produkte vertreiben (wollen),  und nur Deutschland in der Länderliste haben wäre das vollkommen ok und auch so gewollt.

    Deinen Vorschlag müsste ich in den HTML Dateien unterbringen -korrekt?

    ich habe verschiedene Ansätze für die create_account.php gesehen , dort ist auch "maxlength" 8 definiert jedoch ohne Auswirkung , von daher denke ich das es nicht über die create_account.php funktioniert korrekt?

    Gruß

    Firebird

    Bonsai

    • Viel Schreiber
    • Beiträge: 4.127
    • Geschlecht:
    Re: PLZ Format bei anmeldung
    Antwort #3 am: 09. Dezember 2016, 12:37:37
    Man kann das im Template unterbringen, oder aber in der create_account.php und create_guest_account.php
    Was dann immer noch geht, ist das nachträgliche Ändern der PLZ zu einer falschen.

    /includes/modules/address_book_details.php war das glaube ich.

    Im Template könnte man mit preg_replace arbeiten. Per regex "/>" oder ">" finden und ersetzen mit
    Code: XML  [Auswählen]
    pattern="\d{5}">

    Firebird

    • Frisch an Board
    • Beiträge: 75
    Re: PLZ Format bei anmeldung
    Antwort #4 am: 09. Dezember 2016, 13:59:31
    Das pattern tutorial ist mehr als interessant und man hat ja noch mehr Möglichkeiten als ich dachte.

    Dennoch stelle ich mich etwas "dumm" an , ich weiß einfach nicht an welcher stelle es im code untergebracht werden muss. :-(

    wenn ich mir die z.B. Gästeregistrierung im Firefox anschaue sehe ich die <input >Tags aber in den Dateien
    kann ich diese nicht auffinden, egal wo ich suche.

    Bonsai

    • Viel Schreiber
    • Beiträge: 4.127
    • Geschlecht:
    Re: PLZ Format bei anmeldung
    Antwort #5 am: 09. Dezember 2016, 15:05:11
    /create_account.php
    Code: PHP  [Auswählen]
    $smarty->assign('INPUT_CODE', xtc_draw_input_fieldNote(array ('name' => 'postcode', 'text' => '&nbsp;'. (xtc_not_null(ENTRY_POST_CODE_TEXT) ? '<span class="inputRequirement">'.ENTRY_POST_CODE_TEXT.'</span>' : ''))));
     

    Also bei der Funktion xtc_draw_input_fieldNote den dritten Parameter nutzen
    Code: PHP  [Auswählen]
        function xtc_draw_input_fieldNote($data, $value = '', $parameters = '', $type = 'text', $reinsert_value = true) {

    Das wäre dann
    Code: PHP  [Auswählen]
    $smarty->assign('INPUT_CODE', xtc_draw_input_fieldNote(array ('name' => 'postcode', 'text' => '&nbsp;'. (xtc_not_null(ENTRY_POST_CODE_TEXT) ? '<span class="inputRequirement">'.ENTRY_POST_CODE_TEXT.'</span>' : '')),'','pattern="\d{5}"'));
     

    Oder du geht im Template die Variable $INPUT_CODE an ...
    \templates\tpl_modified\module\create_account.html
    Diese Zeile:
    Code: XML  [Auswählen]
            <td><span class="fieldtext">{#text_code#}</span><span class="stern">{$INPUT_CODE}</span></td>
    Das funktioniert nicht, weil Smarty über die geschweiften Klammern im pattern stolpert:
    Code: XML  [Auswählen]
            <td><span class="fieldtext">{#text_code#}</span><span class="stern">{'>'|$INPUT_CODE:str_replace:'pattern="pattern="\d{5}"'}</span></td>
    Also definiere in einer Sprachdatei (bei 1.06 /lang/german/german.php)
    Code: PHP  [Auswählen]
    define('PLZ_PATTERN', 'pattern="pattern="\d{5}">');
    dann geht das:
    Code: XML  [Auswählen]
            <td><span class="fieldtext">{#text_code#}</span><span class="stern">{'>'|$INPUT_CODE:str_replace:$smarty.const.PLZ_PATTERN}</span></td>

    zumindest theoretisch. Habe das jetzt nicht ausprobiert.

    Firebird

    • Frisch an Board
    • Beiträge: 75
    Re: PLZ Format bei anmeldung
    Antwort #6 am: 09. Dezember 2016, 17:01:02
    Hallo Bonsai,

    G E N I A L

    habs nun in den .php Datein drin ( mit title für ne ordentliche Hinweismeldung)

    Bin gerade schwer beeindruckt- von Dir  :-) und das es die Möglichkeit einer Clientseitigen Prüfung gibt.

    DANKE !
     ...auch dafür das ich was lernen konnte

    Gruß

    Firebird

    Bonsai

    • Viel Schreiber
    • Beiträge: 4.127
    • Geschlecht:
    Re: PLZ Format bei anmeldung
    Antwort #7 am: 09. Dezember 2016, 17:14:00
    Verhindert aber nicht, dass jemand z.B. mit firebug die Formulardaten manipuliert! Das ist also KEINE Lösung für echte Eingabevalidierung! Nur eine Lösung die dem Anwender hilft, keinen Unfug einzugeben.

    Weitere Pattern findest Du wenn Du mal da die Input Felder mit Rechtsklick -> Element untersuchen anschaust:
    https://www.j-k-fischer-verlag.de/
    z.B. für E-mail Adresse macht das Sinn.

    Das ganze geht ab HTML5, es rentiert sich wenn man mal nachliest was in html5 neu ist. Einer meiner Favoriten ist der:
    http://www.w3schools.com/tags/att_script_defer.asp
    Endlich kann man <script> im Head lassen OHNE dass das rendern der Seite unterbunden wird.
    2 Antworten
    1100 Aufrufe
    14. April 2020, 16:06:20 von stedre
    6 Antworten
    608 Aufrufe
    16. November 2022, 12:19:07 von awund
    0 Antworten
    1980 Aufrufe
    13. Mai 2013, 07:12:55 von Arnie
    1 Antworten
    2472 Aufrufe
    20. August 2012, 14:56:56 von sv.brueck
               
    anything