Mailinglisten-Archive |
Christoph Gahmann wrote: > Hallo phpler, > > ich habe mir ein Script gebastelt wo der Benutzer seine Daten eingeben soll usw. Unter anderem auch sein Geburtsdatum, aber er darf nur auf weiter klicken wenn er über 18 Jahre ist! Nun habe ich mal geknobelt aber irgendwie lässt er mich trotz mit weitaus höherem Alter nicht weiter klicken... > hier mal mein Code: > > $monat=$HTTP_POST_VARS['geb']['monat']; > $tag=$HTTP_POST_VARS['geb']['tag']; > $jahr=$HTTP_POST_VARS['geb']['jahr']; > > $geburi=mktime(0,0,0,$monat,$tag,$jahr); > $heutevor18=strtotime("-18 years"); > > if((!$geburi<$heutevor18) OR (!$jahr<1970)) > { > $msg .= "Sie sind leider zu jung!<br>"; > } > > Tja er gibt leider immer "Sie sind leider zu jung aus..." worin liegt mein Denkfehler? > > Liebe Grüße zum Feierabend Machs doch einfach so: $monat = intval($HTTP_POST_VARS['geb']['monat']); $tag = intval($HTTP_POST_VARS['geb']['tag']); // wichtig!!! INTEGER wert holen sonst ist die if sinnlos $jahr = intval($_POST['geb']['jahr']); if ($jahr > 1970) { $geboren = mktime(0, 0, 0, $monat, $tag, $jahr + 18); if ($geboren > time()) { $msg .= "Sie sind leider zu jung!<br>"; } } Wer vor 1970 geboren ist, ist auf jeden Fall älter als 18, also entfällt der Rest. -- Dennis Sterzenbach http://www.darknoise.de/
php::bar PHP Wiki - Listenarchive