Ergebnis 1 bis 2 von 2

Thema: Altersüberprüfung

  1. #1
    TP-Senior
    Registriert seit
    Nov 2002
    Beiträge
    289

    Altersüberprüfung

    Hallo allerseits,

    ich stehe hier gerade schrecklich auf dem Schlauch: Ich muss eine Altersrpüfung bauen, die sicherstellt, dass der Nutzer mind. 18 Jahre alt ist.
    Ok, kein Problem dachte ich mir und habe schnell mal einen Prototypen zusammengeschustert:
    PHP-Code:
    $now time();
    $dob strtotime('1993-02-01'.date('H:i:s'));
    $var 18*365*24*60*60;
    echo 
    "NOW:".$now." => ".date('d.m.Y H:i:s'$now)."<br/>";
    echo 
    "DOB:".$dob." => ".date('d.m.Y H:i:s'$dob)."<br/>";
    echo 
    "VAR:".$var."<br/>";
    echo 
    "----------------------------------------------------------------<br/>";
    echo 
    "DIFF:".($now-$dob)." < ".$var." => ".print_r((($now-$dob)<$var)); 
    Wie im Beispiel zu erkennen, sollte jemand der am 01.02.1993 Geburtstag hat als 17jähriger identifiziert werden - daher verzichte ich auf die Rundung und schaue mir die genaue Differenz an. Leider will mir obiges Script weißmachen, dass derjenige 18 ist, was ja einfach nicht stimmt.

    Hier nochmal die Ausgabe des Scripts:
    Code:
    NOW:1296233977 => 28.01.2011 17:59:37
    DOB:728585977 => 01.02.1993 17:59:37
    VAR:567648000
    ----------------------------------------------------------------
    DIFF:567648000 < 567648000 => 1
    Besten Dank für eure Unterstützung.

    Schöne Grüße,

    Moritz
    ...zur Zeit außer Betrieb...

  2. #2
    TP-Moderator Avatar von maxi89
    Registriert seit
    Nov 2004
    Ort
    Mulpe an der Tunke
    Beiträge
    2.584
    Das geht einfacher

    PHP-Code:
    $eingabe strtotime('1993-02-01');

    if(
    strtotime('-18 years') >= $eingabe)
       echo 
    'Du bist 18 oder älter!';
    else
       echo 
    'Du bist jünger als 18!'

    Du kannst strtotime() ja auch rechnen lassen. Gibst du keinen zweiten Parameter an, wird automatisch der heutige Tag genommen.
    Es wird also einfach ein Timestamp erzeugt, der den jetzigen Zeitpunkt vor 18 Jahren repräsentiert. Dieser muss größer oder gleich groß sein wie der Timestamp, der aus dem eingegebenen Datum erzeugt wurde - denn jemand der älter ist als 18 Jahre hat einen niedrigeren Timestamp

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

     

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51