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: Registrierung ab 18

    hh040

    • Frisch an Board
    • Beiträge: 68
    • Geschlecht:
    Registrierung ab 18
    am: 08. Juni 2019, 11:05:44
    Moin Moin,

    was muss ich in der Datei create_account.php ändern/hinzufügen beim Geburtsdatum das die Registrierung erst ab 18 Jahren möglich ist? Danke.

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

    hpzeller

    • Experte
    • Beiträge: 4.129
    • Geschlecht:
    Re: Registrierung ab 18
    Antwort #1 am: 08. Juni 2019, 14:55:23
    Wenn du in den Dateien create_account.php  und create_guest_account.php jeweils folgenden Code

    Code: PHP  [Auswählen]
      if (ACCOUNT_DOB == 'true' && ( is_numeric(xtc_date_raw($dob)) == false ||
          (@checkdate(substr(xtc_date_raw($dob), 4, 2), substr(xtc_date_raw($dob), 6, 2), substr(xtc_date_raw($dob), 0, 4)) == false))) {
        $error = true;
        $messageStack->add('create_account', ENTRY_DATE_OF_BIRTH_ERROR);
      }
     

    mit diesem ersetzt,

    Code: PHP  [Auswählen]
      if (ACCOUNT_DOB == 'true' && ( is_numeric(xtc_date_raw($dob)) == false ||
          (@checkdate(substr(xtc_date_raw($dob), 4, 2), substr(xtc_date_raw($dob), 6, 2), substr(xtc_date_raw($dob), 0, 4)) == false))) {
        $error = true;
        $messageStack->add('create_account', ENTRY_DATE_OF_BIRTH_ERROR);
      } else {
        if (mktime(0, 0, 0, substr(xtc_date_raw($dob), 4, 2), substr(xtc_date_raw($dob), 6, 2), substr(xtc_date_raw($dob), 0, 4)) > strtotime('-18 years')) {
          $error = true;
         }
      }
     

    kannst du verhindern das sich jemand registrieren kann der laut eingegebenem Geburtsdatum noch nicht 18 Jahre alt ist. Eine Meldung wieso er sich nicht registrieren kann erhält er allerdings nicht, aber vielleicht willst du das ja auch gar nicht.

    Gruss
    Hanspeter

    hh040

    • Frisch an Board
    • Beiträge: 68
    • Geschlecht:
    Re: Registrierung ab 18
    Antwort #2 am: 08. Juni 2019, 15:47:32
    @hpzeller

    Danke dir.

    Habe oben vergessen erwähnen das er eine Fehlermeldung bekommen soll wieso er sich nicht anmelden kann, würde mich freuen wenn du uns allen zeigst wie es geht, danke dir.

    hh040

    • Frisch an Board
    • Beiträge: 68
    • Geschlecht:
    Re: Registrierung ab 18
    Antwort #3 am: 08. Juni 2019, 16:49:43
    Okay ich habe es hinbekommen, das die Fehlermeldung erscheint.

    Wie hpzeller bereits geschrieben hat ersetzt ihr bei create_account.php den folgenden Code mit einer ergänzung

    Code: PHP  [Auswählen]
    if (ACCOUNT_DOB == 'true' && ( is_numeric(xtc_date_raw($dob)) == false ||
          (@checkdate(substr(xtc_date_raw($dob), 4, 2), substr(xtc_date_raw($dob), 6, 2), substr(xtc_date_raw($dob), 0, 4)) == false))) {
        $error = true;
        $messageStack->add('create_account', ENTRY_DATE_OF_BIRTH_ERROR);
      }

    mit diesem Code
    Code: PHP  [Auswählen]
    if (ACCOUNT_DOB == 'true' && ( is_numeric(xtc_date_raw($dob)) == false ||
          (@checkdate(substr(xtc_date_raw($dob), 4, 2), substr(xtc_date_raw($dob), 6, 2), substr(xtc_date_raw($dob), 0, 4)) == false))) {
        $error = true;
        $messageStack->add('create_account', ENTRY_DATE_OF_BIRTH_ERROR);
      } else {
        if (mktime(0, 0, 0, substr(xtc_date_raw($dob), 4, 2), substr(xtc_date_raw($dob), 6, 2), substr(xtc_date_raw($dob), 0, 4)) > strtotime('-18 years')) {
          $error = true;
          $messageStack->add('create_account', ENTRY_DATE_OF_BIRTH_ERROR);
         }
      }

    danach ruft ihr im folgenden Ordner /lang/german/ die datei german.php auf
    bei Zeile 117 ersetzt ihr den folgenden code
    Code: PHP  [Auswählen]
    define('ENTRY_DATE_OF_BIRTH_ERROR', 'Ihr Geburtsdatum muss im Format TT.MM.JJJJ (z.B. 21.05.1970) eingeben werden');
     

    mit diesem code
    Code: PHP  [Auswählen]
    define('ENTRY_DATE_OF_BIRTH_ERROR', 'Ihr Geburtsdatum muss im Format TT.MM.JJJJ (z.B. 21.05.1970) eingeben werden und Sie müssen mindestens 18 Jahre alt sein, damit Sie sich bei uns registrieren können.');
     

    hh040

    • Frisch an Board
    • Beiträge: 68
    • Geschlecht:
    Re: Registrierung ab 18
    Antwort #4 am: 14. April 2020, 20:31:36
    Da ich den Beitrag nicht editieren kann befindet sich die Zeile 117 bei der neuen Version bei der Zeile 118.

    hh040

    • Frisch an Board
    • Beiträge: 68
    • Geschlecht:
    Re: Registrierung ab 18
    Antwort #5 am: 14. April 2020, 20:39:49
    Okay ich habe es hinbekommen, das die Fehlermeldung erscheint.

    Wie hpzeller bereits geschrieben hat ersetzt ihr bei create_account.php den folgenden Code mit einer ergänzung

    Code: PHP  [Auswählen]
    if (ACCOUNT_DOB == 'true' && ( is_numeric(xtc_date_raw($dob)) == false ||
          (@checkdate(substr(xtc_date_raw($dob), 4, 2), substr(xtc_date_raw($dob), 6, 2), substr(xtc_date_raw($dob), 0, 4)) == false))) {
        $error = true;
        $messageStack->add('create_account', ENTRY_DATE_OF_BIRTH_ERROR);
      }

    mit diesem Code
    Code: PHP  [Auswählen]
    if (ACCOUNT_DOB == 'true' && ( is_numeric(xtc_date_raw($dob)) == false ||
          (@checkdate(substr(xtc_date_raw($dob), 4, 2), substr(xtc_date_raw($dob), 6, 2), substr(xtc_date_raw($dob), 0, 4)) == false))) {
        $error = true;
        $messageStack->add('create_account', ENTRY_DATE_OF_BIRTH_ERROR);
      } else {
        if (mktime(0, 0, 0, substr(xtc_date_raw($dob), 4, 2), substr(xtc_date_raw($dob), 6, 2), substr(xtc_date_raw($dob), 0, 4)) > strtotime('-18 years')) {
          $error = true;
          $messageStack->add('create_account', ENTRY_DATE_OF_BIRTH_ERROR);
         }
      }

    danach ruft ihr im folgenden Ordner /lang/german/ die datei german.php auf
    bei Zeile 117 ersetzt ihr den folgenden code
    Code: PHP  [Auswählen]
    define('ENTRY_DATE_OF_BIRTH_ERROR', 'Ihr Geburtsdatum muss im Format TT.MM.JJJJ (z.B. 21.05.1970) eingeben werden');
     

    mit diesem code
    Code: PHP  [Auswählen]
    define('ENTRY_DATE_OF_BIRTH_ERROR', 'Ihr Geburtsdatum muss im Format TT.MM.JJJJ (z.B. 21.05.1970) eingeben werden und Sie müssen mindestens 18 Jahre alt sein, damit Sie sich bei uns registrieren können.');
     

    mein fehler kann gelöscht werden also dieser beitrag

    CojaX89

    • Neu im Forum
    • Beiträge: 32
    Re: Registrierung ab 18
    Antwort #6 am: 10. Dezember 2020, 17:20:38
    Okay ich habe es hinbekommen, das die Fehlermeldung erscheint.

    Wie hpzeller bereits geschrieben hat ersetzt ihr bei create_account.php den folgenden Code mit einer ergänzung

    Code: PHP  [Auswählen]
    if (ACCOUNT_DOB == 'true' && ( is_numeric(xtc_date_raw($dob)) == false ||
          (@checkdate(substr(xtc_date_raw($dob), 4, 2), substr(xtc_date_raw($dob), 6, 2), substr(xtc_date_raw($dob), 0, 4)) == false))) {
        $error = true;
        $messageStack->add('create_account', ENTRY_DATE_OF_BIRTH_ERROR);
      }

    mit diesem Code
    Code: PHP  [Auswählen]
    if (ACCOUNT_DOB == 'true' && ( is_numeric(xtc_date_raw($dob)) == false ||
          (@checkdate(substr(xtc_date_raw($dob), 4, 2), substr(xtc_date_raw($dob), 6, 2), substr(xtc_date_raw($dob), 0, 4)) == false))) {
        $error = true;
        $messageStack->add('create_account', ENTRY_DATE_OF_BIRTH_ERROR);
      } else {
        if (mktime(0, 0, 0, substr(xtc_date_raw($dob), 4, 2), substr(xtc_date_raw($dob), 6, 2), substr(xtc_date_raw($dob), 0, 4)) > strtotime('-18 years')) {
          $error = true;
          $messageStack->add('create_account', ENTRY_DATE_OF_BIRTH_ERROR);
         }
      }

    danach ruft ihr im folgenden Ordner /lang/german/ die datei german.php auf
    bei Zeile 117 ersetzt ihr den folgenden code
    Code: PHP  [Auswählen]
    define('ENTRY_DATE_OF_BIRTH_ERROR', 'Ihr Geburtsdatum muss im Format TT.MM.JJJJ (z.B. 21.05.1970) eingeben werden');
     

    mit diesem code
    Code: PHP  [Auswählen]
    define('ENTRY_DATE_OF_BIRTH_ERROR', 'Ihr Geburtsdatum muss im Format TT.MM.JJJJ (z.B. 21.05.1970) eingeben werden und Sie müssen mindestens 18 Jahre alt sein, damit Sie sich bei uns registrieren können.');
     

    Zusätzlich sollte noch in der account_edit.php folgende Änderung gemacht werden,
    sonst können die Kunden nach der registrierung ihr Geburtsdatum wieder "Unter 18 Jahren" abändern.
    Getestet mit modified 2.0.5.1

    Suche in account_edit.php
    Code: PHP  [Auswählen]
      if (ACCOUNT_DOB == 'true') {
        if (checkdate(substr(xtc_date_raw($dob), 4, 2), substr(xtc_date_raw($dob), 6, 2), substr(xtc_date_raw($dob), 0, 4)) == false) {
          $error = true;
          $messageStack->add('account_edit', ENTRY_DATE_OF_BIRTH_ERROR);
        }
      }

    Ersetze in account_edit.php durch
    Code: PHP  [Auswählen]

    if (ACCOUNT_DOB == 'true' && ( is_numeric(xtc_date_raw($dob)) == false ||
          (@checkdate(substr(xtc_date_raw($dob), 4, 2), substr(xtc_date_raw($dob), 6, 2), substr(xtc_date_raw($dob), 0, 4)) == false))) {
        $error = true;
        $messageStack->add('account_edit', ENTRY_DATE_OF_BIRTH_ERROR);
      } else {
        if (mktime(0, 0, 0, substr(xtc_date_raw($dob), 4, 2), substr(xtc_date_raw($dob), 6, 2), substr(xtc_date_raw($dob), 0, 4)) > strtotime('-18 years')) {
          $error = true;
          $messageStack->add('account_edit', ENTRY_DATE_OF_BIRTH_ERROR);
         }
      }
     
    1 Antworten
    2625 Aufrufe
    08. Juli 2009, 08:38:42 von Tomcraft
    2 Antworten
    2581 Aufrufe
    13. Juni 2012, 06:53:46 von lyepp
    4 Antworten
    2875 Aufrufe
    11. August 2012, 11:25:36 von pc_helferlein
    11 Antworten
    1345 Aufrufe
    02. August 2022, 13:20:32 von voodoopupp
               
    anything