tarih doğrulama ile php sorunlar

1 Cevap

Ben yeterince deneyin vermedi aldırma, burada benim aradığım buydu:

$dob = '1980-09-04';
echo $dob;
$age = date('Y') - date('Y', strtotime($dob));
echo $age;
if (date('md') < date('md', strtotime($dob))) {
    $age--;
    echo $age;
}

Gereksiz soru için özür dilerim.

1 Cevap

Eski 21 yıl denetleme .... Bu pr0n için?

Eğer uluslararası kullanım için bir şeyler yazıyoruz, her şeyden önce, AA / GG / YYYY zararlı! Yazmak için daha iyi

<select name='month'><option value='01'>Jan</option>....
<input name='day' maxlength='2' size='2' />
<input name='year' maxlength='4' size='4' />

Bu kadar bize Avrupalıları karıştırmayın olmaz.

İkincisi, onların DOB soran ve bunu bir parametre & saklıyorsanız Eğer sonraki her kodunu korumak için çalışırsanız eşek seni ısıracak "yaş" adında var.

Üçüncü olarak, örnek veri girişi gerekli eşleşmiyor. Onlara ayırıcılar ile bir örnek anlatmak ve sonra aslında hiçbir boşluk ile 8 basamak işlemek.

Gerçek cevap: Ancak, yukarıdaki iğrenç AAGGYYYY 8 haneli bir dize denemek doğrulamak isterseniz:

if( !preg_match( "/^\d{8}$/", $dob ) ) # fail if is not a string of 8 numeric digits.
{
    ....
}