phpbar.de logo

Mailinglisten-Archive

[php] heute vor 18 Jahren

[php] heute vor 18 Jahren

Dennis Sterzenbach lists at darknoise.de
Die Okt 28 18:17:58 CET 2003


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