Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 18
  1. #1

    controllare se l'utente è maggiorenne

    Salve.
    Ho un form di registrazione dove l'utente, tra i vari dati, inserisce anche la data di nascita.
    Per inserirla ho predisposto tre select: gg, mm, aaaa.

    Ora vorrei sapere come faccio a vedere se l'utente è maggiorenne.
    In pratica devo calcolare quanto tempo è passato dalla sua nascita e vedere se corrisponde a 18 anni ma non ho la minima idea di come fare!
    Mi aiutate?

  2. #2
    Utente di HTML.it L'avatar di VaLvOnAuTa
    Registrato dal
    Jun 2002
    Messaggi
    2,003
    if (mktime(0,0,0,date("m"),date("d"),date("Y")-18) > mktime(0,0,0,$mese_nascita,$giorno_nascita,$anno_n ascita)) {
    echo "utente minorenne";
    }
    else {
    echo "utente maggiorenne";

  3. #3
    Ciao

    Sono certo che questo argomento lo abbiamo trattato ultimamente almeno tre votle. Con relative soluzioni... prova a dare uno sguardo indietro....



    qui uno....

    http://forum.html.it/forum/showthrea...ht=maggiorenne

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  4. #4
    OK, scusa piero.mac. Cmq grazie per la risposta
    VaLvOnAuTa.
    Ciao!

  5. #5
    Ti ho messo un link..

    ciao.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  6. #6
    prova a vedere sul manuale di php (online: www.php.net) se ci sono delle funzioni di conversione delle date
    ci dovrebbero essere, ora così su 2 piedi però dovrei guardarci anch'io... vedi un po'!

  7. #7
    Utente di HTML.it L'avatar di VaLvOnAuTa
    Registrato dal
    Jun 2002
    Messaggi
    2,003
    [supersaibal]Originariamente inviato da mircov
    OK, scusa piero.mac. Cmq grazie per la risposta
    VaLvOnAuTa.
    Ciao! [/supersaibal]
    Prego.. solo una piccola correzione..
    Non è maggiore ma minore... quindi il codice è
    if (mktime(0,0,0,date("m"),date("d"),date("Y")-18) < mktime(0,0,0,$mese_nascita,$giorno_nasci
    ta,$anno_nascita)) {

  8. #8
    Il problema e' che unix timestamp si ferma al 1-1-1970 e questo per le date di nascita potrebbe essere limitativo e causare un errore..

    Quantomeno verificare che se la data di nascita e' minore di 1-1-1970 maggiorenne lo sara' di certo ed evitando cosi' l'errore.


    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  9. #9
    Utente di HTML.it L'avatar di VaLvOnAuTa
    Registrato dal
    Jun 2002
    Messaggi
    2,003
    [supersaibal]Originariamente inviato da piero.mac
    Il problema e' che unix timestamp si ferma al 1-1-1970 e questo per le date di nascita potrebbe essere limitativo e causare un errore..

    Quantomeno verificare che se la data di nascita e' minore di 1-1-1970 maggiorenne lo sara' di certo ed evitando cosi' l'errore.

    [/supersaibal]
    Si potrebbe fare un controllo preventivo sull'anno (non c'è bisogno di tutta la data).
    Anzi si può fare di più. Effettuare il controllo se e solo se l'anno di nascita è uguale a date("Y")-18
    Se è minore l'utente è sicuramente maggiorenne.
    Se è maggiore l'utente è sicuramente minorenne.
    Resta il dubbio se l'anno di nascita è (2005-18)

  10. #10
    [supersaibal]Originariamente inviato da VaLvOnAuTa
    Resta il dubbio se l'anno di nascita è (2005-18) [/supersaibal]
    beh... man mano che i giorni passano diminuirebbe la probabilita' di errore per l'anno in corso. Come vedi il tempo tende ad aggiustare tutto.



    Ps.: stai arrivando allo scriptino che avevo fatto nel post linkato...

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.