ich will in ein bestehendes xt-commerce Shop-System eine Überprüfung des Alters anhand des angegebenen Geburtsdatum einpflegen. Nur leider funktioniert meine Abfrage nicht wirklich. Die vorherige Überprüfung des Datumsformats nimmt er noch nur die Überprüfung des Alters nicht mehr. Komischerweise wenn ich ein Pflichtfeld vergessen zu befüllen springt er in die Prüfung. Jedoch sagt er mir dann egal welches Datum ich angebe das ich nicht alt genug bin, obwohl ich laut Angegebenen Datum alt genug bin.
- Code: Select all
//Überprüfung der Namenslänge
if (strlen($lastname) < ENTRY_LAST_NAME_MIN_LENGTH) {
$error = true;
$messageStack->add('create_account', ENTRY_LAST_NAME_ERROR);
}
//Überprüfung Datumsformat
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('create_account', ENTRY_DATE_OF_BIRTH_ERROR);
}
}
//Altersüberprüfung
if (ACCOUNT_DOB == 'true')
{
$day = substr(xtc_date_raw($dob), 6, 2);
$month = substr (xtc_date_raw($dob), 4, 2);
$year = substr(xtc_date_raw($dob), 0, 4);
$today = getdate();
$cyear = $today['year'];
$cmonth = $today['mon'];
$cday = $today['mday'];
$fullyears = $cyears - $year;
if ($cmonth < $month || ($cmonth == $month && $cday < $day)) $fullyears--;
if ($fullyears < ENTRY_DOB_MIN_AGE)
{
$error = true;
$entry_date_of_birth_error2 = true;
$messageStack->add('create_account', ENTRY_DATE_OF_BIRTH_ERROR2);
}
}