[PHP] Souhaiter un Joyeux Anniversaire
YannOuch
-
bloodchecker Messages postés 339 Date d'inscription Statut Membre Dernière intervention -
bloodchecker Messages postés 339 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Voilà je suis désireux de souhaité un "Joyeux Anniversaire" aux membres de mon site quand il se doit.
J'ai un champ age contenant la date de naissance du membre dans la table appropriée.
Sur cette même table j'ai rajouté un champ avec une valeur défini à 0 et qui prend une valeur de 1 une fois l'anniversaire souhaité.
A la connexion je compare donc la date du jour avec celle enregistré en bdd.
Seulement, c'est ici que je bloque !
Je ne souhaite comparer que le jour et le mois. Et à la limite l'année pour vérifier par la suite si je l'ai déjà souhaité ou non .. Fin je bloque !
Quelqu'un aurait-il une petite solution ?
Voici ce que j'ai mis sur mon index :
if($_POST['action']=='Connexion au Compte')
{
$age = $arr['fage']; // VARIABLE DEFINI PLUS DANS MON INDEX
$datejour = date("m-d");
$D1=explode("-",$age);
$age2 = $D1['mois'].'-'.$D1['jour'];
if($age2 == $datejour AND $bonannif == 0){
print("<script> this.location.href='index.php?tp=user&st=joyeuxannif'; </script>");
}
else{
}
}
Je vous remercie par avance, bien amicalement, Yann.
Voilà je suis désireux de souhaité un "Joyeux Anniversaire" aux membres de mon site quand il se doit.
J'ai un champ age contenant la date de naissance du membre dans la table appropriée.
Sur cette même table j'ai rajouté un champ avec une valeur défini à 0 et qui prend une valeur de 1 une fois l'anniversaire souhaité.
A la connexion je compare donc la date du jour avec celle enregistré en bdd.
Seulement, c'est ici que je bloque !
Je ne souhaite comparer que le jour et le mois. Et à la limite l'année pour vérifier par la suite si je l'ai déjà souhaité ou non .. Fin je bloque !
Quelqu'un aurait-il une petite solution ?
Voici ce que j'ai mis sur mon index :
if($_POST['action']=='Connexion au Compte')
{
$age = $arr['fage']; // VARIABLE DEFINI PLUS DANS MON INDEX
$datejour = date("m-d");
$D1=explode("-",$age);
$age2 = $D1['mois'].'-'.$D1['jour'];
if($age2 == $datejour AND $bonannif == 0){
print("<script> this.location.href='index.php?tp=user&st=joyeuxannif'; </script>");
}
else{
}
}
Je vous remercie par avance, bien amicalement, Yann.
A voir également:
- Joyeux anniversaire créole guadeloupéen
- Joyeux anniversaire en créole guadeloupe - Meilleures réponses
- Joyeux anniversaire en créole martiniquais - Meilleures réponses
- Traducteur créole guadeloupéen ✓ - Forum Loisirs / Divertissements
- Traduction du Français en Créole Guadeloupéeen ✓ - Forum Loisirs / Divertissements
- Joyeux anniversaire en créole réunionnais - Forum Loisirs / Divertissements
- Joyeux anniversaire journal de naissance gratuit a imprimer - Télécharger - Histoire & Religion
- Traduction créole guadeloupéen ✓ - Forum Loisirs / Divertissements
3 réponses
Bonsoir,
Et bien mon site est un site de jeux. Donc pour son anniversaire je crédite un cadeau (Points du site).
En admettant que ce soit un petit malin, qu'il reçoive son gain et change sa date d'anniv par celle du lendemain j'ai pris un précaution de plus.
Pourquoi laissé la possibilité de changer/modifier la date d'anniv au membre tu me diras .. C'est ptet ce que je devrais faire. Bloquer la date, et juste contrôler.
Et bien mon site est un site de jeux. Donc pour son anniversaire je crédite un cadeau (Points du site).
En admettant que ce soit un petit malin, qu'il reçoive son gain et change sa date d'anniv par celle du lendemain j'ai pris un précaution de plus.
Pourquoi laissé la possibilité de changer/modifier la date d'anniv au membre tu me diras .. C'est ptet ce que je devrais faire. Bloquer la date, et juste contrôler.
Salut,
Tu récupère la date au format MM-JJ-AAAA (ou peut importe)
Tu récupére chaque valeur dans un tableau avec :
$tableau = explode ('-', $dateAnniversaire);
pour decomposer tu as donc :
$jourNaissance = $tableau[1]
$moisNaissance = $tableau[0]
$anneeNaissance = $tableau[2]
tu considere que dans ton champ anniversairesouhaité tu stocke la derniere année souhaitée.
tu compare à la connexion si l'année du champ anniversairesouhaité != $tableau[2] && si on est le jour de l'anniversaire.
si c'est le cas tu souhaite l'anniv et tu mets le champ anniversairesouhaité à l'année en cours.
Tu récupère la date au format MM-JJ-AAAA (ou peut importe)
Tu récupére chaque valeur dans un tableau avec :
$tableau = explode ('-', $dateAnniversaire);
pour decomposer tu as donc :
$jourNaissance = $tableau[1]
$moisNaissance = $tableau[0]
$anneeNaissance = $tableau[2]
tu considere que dans ton champ anniversairesouhaité tu stocke la derniere année souhaitée.
tu compare à la connexion si l'année du champ anniversairesouhaité != $tableau[2] && si on est le jour de l'anniversaire.
si c'est le cas tu souhaite l'anniv et tu mets le champ anniversairesouhaité à l'année en cours.
Salut,
Pourquoi stocké dans un champs si tu lui as déjà souhaité, ca ne sert à rien...
Ce que je ferais pour chaque membre :
1) Lorsqu'il se connecte récupérer dans la base de données la date de son anniversaire
2) Récupérer la date du jour
3) Si la date d'anniversaire correspond à la date du jour alors "Joyeux Anniversaire" sinon rien !
Ca serait plus simple, pourquoi souhaite tu garder en mémoire le fait de lui avoir souhaité ?
Pourquoi stocké dans un champs si tu lui as déjà souhaité, ca ne sert à rien...
Ce que je ferais pour chaque membre :
1) Lorsqu'il se connecte récupérer dans la base de données la date de son anniversaire
2) Récupérer la date du jour
3) Si la date d'anniversaire correspond à la date du jour alors "Joyeux Anniversaire" sinon rien !
Ca serait plus simple, pourquoi souhaite tu garder en mémoire le fait de lui avoir souhaité ?
Tu stockes dans ce cas la, dans ta base de données, l'heure à laquelle tu lui as souhaité, et ensuite lorsqu'il se reconnectera tu n'auras qu'a vérifier si le champs heure est vide ou contient une valeur. si il est vide c'est que tu ne lui as pas encore souhaité sinon c'est déjà souhaité...
Avant tout, merci de ta réponse.
Une valeur 0/1 est-elle suffisante ? Car actuellement comme je le fait (ci dessus) rien ne se passe. J'ai eu modifié hier suite à la lecture de tuto sur la fonction explode et toujours rien.
Par la suite, je veux dire par là, pour les 364/365 jours restants, comment vérifier ? Je dois de ce fait dans le compte du membre lui bloquer la possibilité de modifier le champ "Votre date d'anniversaire" alors ?
Merci encore.
Amicalement, Yann.
Avec la date du jour et sa date anniversaire non ?
Oui je pense, si elle as à 0 c'est que tu ne lui as pas encore souhaité sinon le champs aura comme valeur 1.
Puis je ne comprends pas ton code,
pourquoi vouloir te servir d'explode ? (bizarre de faire un explode pour un age)
que retourne $arr['fage'] ?
$arr[fage] retourne la date de naissance.
Je fait un explode sur $age pour n'en récupérer que le mois et le jour.
De ce fait je ne compare que le mois/jours d'anniversaire à la date du jour.
Mais admettons l'année 2011 la valeur est à 0 pour tout le monde.
Le jour de l'anniversaire vient, je met la valeur à 1. Mais il faudrait que je remette cette valeur à 0 364 jours après et le je bloque également!
Merci encore, Amicalement, Yann.
ok je comprends ton explode mais pas ca :
A quoi cela sert-il de faire le mois - le jour ?