Seite 2 von 3 ErsteErste 123 LetzteLetzte
Ergebnis 11 bis 20 von 25

Thema: 1 - Altersbeschränkung einbauen

  1. #11
    Erfahrener Benutzer Avatar von NeoGriever
    Registriert seit
    26.03.2011
    Ort
    Waldbröl
    Beiträge
    245

    AW: 1 - Altersbeschränkung einbauen

    Hab mal eine kleine Funktion gebaut, die dir ziemlich helfen wird.

    Diese prüft folgenden Part des Personalausweises (neu und alt) auf gültigkeit und darauf, ob die person 18 ist.



    Bitteschön:
    Code:
    function checkAge($personum) {
        $sum = 0;
        for($i = 0;$i < 6;$i++) {
            $sum += (intval(substr($personum,$i,1)) * intval(substr("731731",$i,1)));
        }
        if(intval(substr($personum,6,1)) == intval(substr((string)$sum,-1))) {
            $age   = intval((time() - mktime(0, 0, 0, intval(substr($personum,2,2)), intval(substr($personum,4,2)), intval(substr($personum,0,2)))) / 31536000);
            return($age >= 18);
        }else{
            return(false);
        }
    }
    checkAge("6408125");
    Viel Spaß damit.

    PS: Ich werde den Code später hier wieder entfernen, um hackern und fakern weniger material zu liefern, diese funktion zu umgehen

    Ich könnte das gesamte System auch noch weiterschreiben zum validieren des gesamten Personalausweises. Aber das würd ich dann wohl nur gegen Bezahlung machen. Ist nämlich dann ne ganz schöne Rechenaufgabe.
    VMS-R Downloads | VMS-R Supportbereich | E-Mail | Facebook: VMS-R | ICQ: 413-432-780 | MSN: vmsr@hotmail.de



  2. #12
    Benutzer
    Registriert seit
    04.07.2013
    Beiträge
    36

    AW: 1 - Altersbeschränkung einbauen

    Hi NeoGriever,
    in welchen Bereich muss ich das einbauen?

    Ich würde das eher für den Internen Bereich nehmen, unter Profil verifizieren.
    Möchte das in zwei Teile auf teilen.
    1. Alter
    2. Adresse

    Zum Anmelden, reicht eine normale Abfrage des Alters.
    Erst wenn ein Mitglied dann eine Auszahlung beantragen will, muss das Mitglied dann seine Daten verifizieren.
    Und da wäre der Code nicht schlecht

    Aber das ist erstmal nach hinten gestellt... kann man später immer noch dazu bauen.
    Aktuell will ich nur eine normale Eintragung des Alters mit 18+ Prüfung.
    Und da brauche ich eben noch Hilfe. (Siehe letzter Beitrag von mir)

  3. #13
    Erfahrener Benutzer Avatar von NeoGriever
    Registriert seit
    26.03.2011
    Ort
    Waldbröl
    Beiträge
    245

    AW: 1 - Altersbeschränkung einbauen

    Zuerst solltest du in der /content/intern/anmelden.php nach dem Part suchen, wo alles eingespeichert wird.

    Dort fügst du das dazuspeichern des Geburtsdatums hinzu. Datenbank-Tabelle anpassen nicht vergessen.

    Etwas weiter unten kannst du das Eingabefeld für das Geburtsdatum mit einbauen. Dürfte leicht ersichtlich sein, wo es hin kann.

    Achte darauf, dass du die POST-Daten oben auch korrekt abfängst.

    Nun kannst du mit folgender Codezeile das Alter des Benutzers berechnen:

    Code:
    $tag = $_POST["tag"];
    $monat = $_POST["monat"];
    $jahr = $_POST["jahr"];
    $age   = intval((time() - mktime(0, 0, 0, intval($monat), intval($jahr), intval($tag))) / 31536000);
    Damit prüfst du dann mittels if($age >= 18), ob er genau 18 oder älter ist.

    Ist dies der Fall, die Daten in die Datenbank übertragen. Andernfalls einen Fehler ausgeben. Fertig.
    VMS-R Downloads | VMS-R Supportbereich | E-Mail | Facebook: VMS-R | ICQ: 413-432-780 | MSN: vmsr@hotmail.de



  4. #14
    Erfahrener Benutzer Avatar von jpwfour
    Registriert seit
    06.02.2008
    Beiträge
    3.717

    AW: 1 - Altersbeschränkung einbauen

    Zitat Zitat von NeoGriever Beitrag anzeigen
    ...

    Code:
    ...;
    $age   = intval((time() - mktime(0, 0, 0, intval($monat), intval($jahr), intval($tag))) / 31536000);
    ...
    Nicht jedes Jahr hat 365 Tage! Insofern wird das Alter so nicht ganz korrekt sein.

    @chackie: hab Beitrag #8 editiert, sollte jetzt deutlicher sein, was wo hingehört.
    Kill one man, and you are a murderer.
    Kill millions of men, and you are a conqueror.
    Kill them all, and you are a god.
    - Jean Rostand, Thoughts of a Biologist (1939)

  5. #15
    Erfahrener Benutzer Avatar von NeoGriever
    Registriert seit
    26.03.2011
    Ort
    Waldbröl
    Beiträge
    245

    AW: 1 - Altersbeschränkung einbauen

    Das Schaltjahr hat erst dann eine gravierende Auswirkung, wenn man wirklich genau innerhalb dieser 5-Tage-Verschiebung ohne das Schaltjahr geboren wurde. Rechne dir mal aus, wann man geboren sein muss, um heute obwohl man 18 ist mit dieser funktion als 17 eingestuft zu werden ...

    Man kann natürlich anstelle von 365 tagen als zeiteinteilung einfach 365.25 tage festlegen.
    VMS-R Downloads | VMS-R Supportbereich | E-Mail | Facebook: VMS-R | ICQ: 413-432-780 | MSN: vmsr@hotmail.de



  6. #16
    Benutzer
    Registriert seit
    04.07.2013
    Beiträge
    36

    AW: 1 - Altersbeschränkung einbauen

    Vielen dank an jpwfour,
    deine Anleitung hat super geklappt!
    Funktioniert ohne Probleme.

    @NeuGriever ebenfalls vielen dank!

  7. #17
    Erfahrener Benutzer Avatar von jpwfour
    Registriert seit
    06.02.2008
    Beiträge
    3.717

    AW: 1 - Altersbeschränkung einbauen

    Zitat Zitat von neogriever Beitrag anzeigen
    das schaltjahr hat erst dann eine gravierende auswirkung, wenn man wirklich genau innerhalb dieser 5-tage-verschiebung ohne das schaltjahr geboren wurde....
    Man kann natürlich anstelle von 365 tagen als zeiteinteilung einfach 365.25 tage festlegen.
    hä? Nö.....
    Kill one man, and you are a murderer.
    Kill millions of men, and you are a conqueror.
    Kill them all, and you are a god.
    - Jean Rostand, Thoughts of a Biologist (1939)

  8. #18
    Erfahrener Benutzer Avatar von NeoGriever
    Registriert seit
    26.03.2011
    Ort
    Waldbröl
    Beiträge
    245

    AW: 1 - Altersbeschränkung einbauen

    Äh. Doch!

    365 + 365 + 365 + 365 = 0 Tage Unterschied
    365 + 365 + 365 + 366 = 1 Tag Unterschied

    Wenn man 18 oder älter sein muss, durchlebte man mindestens 4 Schaltjahre. Bei 4 Schaltjahren, die nicht mitgerechnet wurden, würde das heißen, dass man genau 4 Tage jünger berechnet wird. Somit ist es nur für Leute relevant, welche innerhalb eines 4-Tages-Zeitraums geboren wurden, welche dann genau auf diesen Punkt beruhen.

    Behoben werden kann es, wenn man einfach anstelle von 365 Tagen pro Jahr, 365,25 Tage pro Jahr rechnet. Was dazu führt, dass jedes 4te Jahr als Schaltjahr zählt. Fehlerquote dann nur noch bei grob 0.075%. Natürlich kann man auch eine Schleife durchballern lassen, die das haargenau nachberechnet. Dann läge die Fehlerquote genau bei 0%.

    Oder fehlt da irgendwas an meiner Berechnung?
    VMS-R Downloads | VMS-R Supportbereich | E-Mail | Facebook: VMS-R | ICQ: 413-432-780 | MSN: vmsr@hotmail.de



  9. #19
    Moderator Avatar von Worka
    Registriert seit
    20.05.2007
    Beiträge
    973

    AW: 1 - Altersbeschränkung einbauen

    Zitat Zitat von NeoGriever Beitrag anzeigen
    ... Somit ist es nur für Leute relevant, welche innerhalb eines 4-Tages-Zeitraums geboren wurden, welche dann genau auf diesen Punkt beruhen.

    ...
    Relevant ist der Fehler für alle unter 18, 4-5 Tage vor Ihrem 18. Geburtstag.
    Es wird ja jeder User, welcher grade an dem 18. Lebensjahr "kratzt", 4-5 Tage zu alt eingestuft.

    Der Fehler ist natürlich gering, aber eine korrekte Abfrage ob das Geburtsdatum des Users mehr oder weniger als 18 Jahre in der Vergangenheit liegt ist ja möglich.

    Deine Funktion ist natürlich trotzdem eine gute Idee.
    Geändert von Worka (30.07.2013 um 21:28 Uhr)
    StGB § 328 Absatz 2.3: Mit Freiheitsstrafe bis zu fünf Jahren oder mit Geldstrafe wird bestraft, wer eine nukleare Explosion verursacht.

  10. #20
    Erfahrener Benutzer Avatar von NeoGriever
    Registriert seit
    26.03.2011
    Ort
    Waldbröl
    Beiträge
    245

    AW: 1 - Altersbeschränkung einbauen

    Für nen Free-Script akzeptabel

    Dazu kommt noch, dass ich das Script ja mal so nebenbei gebastelt habe. Man kann natürlich vom geburtsdatum aus bis zum heutigen zeitpunkt die schaltjahre berechnen und jeweils 1 tag pro schaltjahr in die teilung hinzufügen. Wäre wohl die effektivere möglichkeit.
    VMS-R Downloads | VMS-R Supportbereich | E-Mail | Facebook: VMS-R | ICQ: 413-432-780 | MSN: vmsr@hotmail.de



Seite 2 von 3 ErsteErste 123 LetzteLetzte

Ähnliche Themen

  1. Designe Einbauen
    Von megasquall im Forum [HD] Grafik, Server & Sonstiges
    Antworten: 2
    Letzter Beitrag: 20.07.2008, 15:40
  2. nuggets api einbauen.
    Von refschloss im Forum [HD] Programmieren
    Antworten: 14
    Letzter Beitrag: 12.05.2008, 17:30
  3. wo die codeschnippsel einbauen?
    Von refschloss im Forum [HD] Programmieren
    Antworten: 1
    Letzter Beitrag: 09.05.2008, 12:17
  4. psd im vms 1.2.2 einbauen?
    Von qog im Forum [HD] Grafik, Server & Sonstiges
    Antworten: 5
    Letzter Beitrag: 19.04.2008, 12:19
  5. GoogleAnalytics einbauen
    Von MasterG im Forum Support zum VMSone
    Antworten: 7
    Letzter Beitrag: 10.02.2007, 23:09

Berechtigungen

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