Calculer l'age à partir d'une date de naissance (idéal pour un site communautaire ;-)).

Soyez le premier à donner votre avis sur cette source.

Snippet vu 10 774 fois - Téléchargée 27 fois

Contenu du snippet

Ce code sert à calculer l'age (d'un membre ?) à partir d'une date de naissance.
J'ai commenté le code relativement long mais complet. J'ai déliré un peu vous le verrez : déjà en utilisant des if je me suis compliqué la vie :-) et si vous insérez la date du jour : surprise ! ;-)

Source / Exemple :


<?
//Script By VirtuelKiller sur Code-sources, Neo dans la réalité
//Webmaster de www.arena-games.net

$date_recent=date("d-m-Y");
//la date du jour

list ($jour_recent , $mois_recent , $an_recent) = split("[-./]",$date_recent);

//la variable $date_naissance est la date de naissance
//utile pour calculer l'age ;-)
//format de la date de naissance : jj/mm/aaaa ou jj-mm-aaaa

if(!empty($date_naissance))
{
list ($jour , $mois , $an) = split("[-./]",$date_naissance);
}

//Vérification de la date de naissance
if($an_recent<$an ){
echo"<script language=\"Javascript\">alert(\"Y'a un ketit problème : vous n'êtes pas encore né ! ;-)\");history.back();</script>";
exit;
}
if($mois_recent<$mois AND $an_recent==$an){
echo"<script language=\"Javascript\">alert(\"Y'a un ketit problème : vous n'êtes pas encore né ! ;-)\");history.back();</script>";
exit;
}

if($jour_recent<$jour AND $mois_recent==$mois AND $an_recent==$an ){
echo"<script language=\"Javascript\">alert(\"Y'a un ketit problème : vous n'êtes pas encore né ! ;-)\");history.back();</script>";
exit;
}

//Calcul de l'age
If($mois_recent>$mois){
$age=$an_recent-$an;
}

If($mois_recent<$mois){
$age=$an_recent-$an-1;
}

If($mois_recent==$mois AND $jour_recent<$jour){
$age=$an_recent-$an-1;
}

If($mois_recent==$mois AND $jour_recent>$jour){
$age=$an_recent-$an;
}

If($mois_recent==$mois AND $jour==$jour_recent){
$age=$an_recent-$an;
}

//la variable qui donne l'age est le variable $age
if($age<2){
if($mois_recent==$mois AND $jour_recent==$jour){
if($mois_recent==$mois AND $jour_recent==$jour AND $an_recent==$an){
echo"Voici votre age : <BR> $age an et BIENVENUE SUR TERRE !<BR>www.arena-games.net";
}Else{
echo"Voici votre age : <BR> $age an et BON ANNIVERSAIRE !<BR>www.arena-games.net";
}
}Else{
echo"Voici votre age : <BR> $age an <BR>www.arena-games.net";
}
}Else{
if($mois_recent==$mois AND $jour_recent==$jour){
echo"Voici votre age : <BR> $age ans et BON ANNIVERSAIRE !<BR>www.arena-games.net";
}Else{
echo"Voici votre age : <BR> $age ans <BR>www.arena-games.net";
}
}

//Excusez moi pour la longueur du code ! J'aurais pu me servir de case plutot que de if mais bon... c la vie !
//Si vous trouvez des bugs signalez le moi
//Je vous laisse faire le formulaire qui permettra d'insérer la date de naissance
//++
//VirtuelKiller sur Code-sources, Neo dans la réalité
//www.arena-games.net
?>

Conclusion :


Si vous avez des questions, des remarques, etc... Les commentaires sont fait pour cela !
++
V.K. ou Neo
www.arena-games.net

A voir également

Ajouter un commentaire

Commentaires

fafa1510
Messages postés
2
Date d'inscription
dimanche 3 octobre 2004
Statut
Membre
Dernière intervention
8 novembre 2005
-
// on décortique la date d'aujourd'hui (jour,mois et année):
$an_now=date("Y");
$mois_now=date("m");
$jour_now=date("d");

$date_nais = "1985/10/15" //année,mois,jour

//on décortique la date de naissance (jour,mois et année):
$an=substr($date_nais,0,4);
$mois=substr($date_nais],5,2);
$jour=substr($date_nais,8,2);

//on soustrait l'année de naissance de l'année actuelle :
$age=$an_now-$an;

//si le jour de naissance n'est pas encore passé, on retire une année :
if (($mois>$mois_now) or (($mois==$mois_now) and ($jour>$jour_now))) { $age=$age-1; }

echo $age;
alexledoberman
Messages postés
1
Date d'inscription
mercredi 15 novembre 2000
Statut
Membre
Dernière intervention
4 mai 2005
-
salut je voudrais savoir coment on fait suite a la source que tu donne.
Dit moi comment on fait
merci
cs_Kirua
Messages postés
3006
Date d'inscription
dimanche 14 avril 2002
Statut
Membre
Dernière intervention
31 décembre 2008
-
le problème jeromeke, c'est que, comme le faisaient remarquer les autres, ce code ne fonctionne que pour les dates postérieures au premier janvier 1970, c'est gênant vu la moyenne d'âge européenne ^^
jeromeke
Messages postés
9
Date d'inscription
mercredi 12 mai 2004
Statut
Membre
Dernière intervention
31 mai 2004
-
Super ton code Kirua! Merci bcp!
JielJacq
Messages postés
7
Date d'inscription
mardi 28 janvier 2003
Statut
Membre
Dernière intervention
2 août 2005
-
bon ben je vais m'y mettre au php et à .. MySQL.... si vous avez quelques bonnes adresses, je suis preneur... à un niveau débutant bien sûr !

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.