Modulshop - Eine große Auswahl an neuen und hilfreichen Modulen für die modified eCommerce Shopsoftware
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: create_account.php - falsche Eingaben im Feld Firma automatisch entfernen

    0815

    • Viel Schreiber
    • Beiträge: 905
    Hallo,

    regelmäßig füllen Kunden bei der Registrierung das  Feld Firma mit falschen Angaben.
    Klassiker sind z.B. "Herr", "Frau", "Firma", "Bitte wählen", "1988" (sowie diverse weiter Geburtsjahre) und "keine".

    Die ersten der drei Beispiele resultieren sicherlich daraus, das diese beim Anwählen des Feldes Firma von der Software des Endgerätes vorgeschlagen und vorausgefüllt werden.

    Ich suche nun eine php Abfrage, die solche Einträge vor der Übergabe an die Datenbank automatisch entfernt.

    Es darf jeweils aber nur der exakte String entfernt werden.
    Beispiele:
    "Firma" soll gelöscht werden
    "Firma Müller" Hier soll "Firma", bzw. der gesamte String nicht gelöscht werden
    "Herr" soll gelöscht werden
    "Herrmann" hier soll "Herr" natürlich nicht entfernt werden
    "Institut Frauenhofer" hier soll "Frau" natürlich nicht entfernt werden

    Wie kann man das mit PHP umsetzen, so dass keine Fehler passieren?

    Danke

    Linkback: https://www.modified-shop.org/forum/index.php?topic=41226.0
    Modulshop - Eine große Auswahl an neuen und hilfreichen Modulen für die modified eCommerce Shopsoftware

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.743
    • Geschlecht:
    Einfach mit == ?
    Du brauchst doch bloß abzufragen ob der POST-Wert welcher ans Formular gesendet wird exakt gleich dem Wert ist den du entfernt haben möchtest.
    Für z.B. die create_account.php also abstatt
    Code: PHP  [Auswählen]
          if (ACCOUNT_COMPANY == 'true') {
            $sql_data_array['entry_company'] = $company;
          }

    das
    Code: PHP  [Auswählen]
          if (ACCOUNT_COMPANY == 'true') {
            $remove_comp_arr = array('Herr', 'Frau', 'Firma', 'Bitte wählen');
            if(in_array($company, $remove_comp_arr)) {
                $company == '';
            }
            $sql_data_array['entry_company'] = $company;
          }

    Das könnte man auch mehrsprachig umsetzen indem man Sprachkonstanten anlegt und mit diesen dann vergleicht.
    Bei Umlauten wie in "bitte wählen" auf die Kodierung achten. Wenn der Shop also z.b. auf UTF-8 läuft, das File ebenso in der Kodierung speichern.
    Zahlen wie Jahresangaben müssten allerdings anders abgefangen werden.
    Z.B. indem man prüft ob lediglich Ziffern im Feld stehen, Stichwort ctype_digit().

    Gruß,
    noRiddle

    online-beobachter

    • Schreiberling
    • Beiträge: 387

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.743
    • Geschlecht:
    Ist ein anderes aber verwandtes Thema, ja.
    Wenn man meinen Vorschlag allerdings mittels des von h-h-h vorgeschlagenen auto_include, und somit update-sicher,  macht, muß man $_POST['company'] anstelle von $company benutzen da letztes an der Stelle noch nicht definiert ist.

    Gruß,
    noRiddle

    0815

    • Viel Schreiber
    • Beiträge: 905
    Vielen Dank für die Infos.

    Meine Liste zu löschender Einträge habe ich zwichenzeitlich ergänzt:

    Zitat
    Herr
    Frau
    Firma
    Anrede
    Keine
    -
    --
    ---
    ----
    .
    Mr.
    MRS
    Bitte wählen
    Bitte wählen Sie
    Bitte auswählen
    ... bitte wählen ...

    Wie die Jahreszahlen abzufangen sind muss ich mir noch ansehen.
    Ich hatte gehoffte es so einfach wie bei den o.g. Strings.

    gerdvomabbruch

    • Frisch an Board
    • Beiträge: 81
    Auch bei uns schreiben viele ins das Feld Firma ihr Geburtsjahr rein das Paket geht dann aber auch an diese Adresse. Wie bestellt so geliefert.

    1998
    Thomas Müller

    Lustig ist es wenn sie sich dadurch um Kauf auf Rechnung bringen weil Zahlungsanbieter nicht an "Firmen" liefern. Aber ist schon okay so, da werden ohnehin die Richtigen aussortiert.

    Roberto75

    • Viel Schreiber
    • Beiträge: 833
    Weil das bei einem Kunden auch öfters passierte, habe ich die beiden Felder "Firmenname" und "Steuer-ID-Nr." versteckt. Die öffnen sich jetzt nur, wenn man einen Haken in das Kästchen für "Firma" macht. Die Anleitung dafür steht hier auch irgendwo. Seitdem gibt es kaum noch falsche Angaben.

    Gruß
    Robert
    12 Antworten
    7243 Aufrufe
    02. Juni 2011, 19:12:06 von Tomcraft
    47 Antworten
    17287 Aufrufe
    30. Januar 2011, 18:36:25 von tomter
    8 Antworten
    10064 Aufrufe
    11. April 2009, 11:27:34 von vsell
    3 Antworten
    2133 Aufrufe
    18. November 2016, 11:55:43 von Bonsai
               
    anything