|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre confirmé
![]() |
bonjour
j’ai un problème pour comparer 2 champs dates. Je voudrais comparer la date de fin par rapport à la date du jour. Si la date du jour est inférieure à la date de fin de la table, autorisation d’accès à la page commande, si la date du jour est supérieure à la date de fin, direction page de réabonnement. J’ai trouvé ce script qui fonctionne : <?php $DateExpiration="2007-12-26"; if ((strtotime($DateExpiration) - mktime(0 , 0 , 0 , date("m") , date("d") , date("Y"))) < 0) echo "La date d'expiration est dépassée"; else echo"date valide"; ?> mais j’ai des difficultés à l’intégrer dans ma page avec une requête. Pourriez-vous m’aider |
|
|
00
|
|
|
#2 | ||
|
Membre chevronné
![]() Inscription : février 2005 Messages : 671 ![]() |
Hello,
SQL intègre très bien les calculs de date.... Code :
@+ cadou
__________________
PHP Competition System Script de gestion de coupes et championnats http://phpcompet.free.fr Mon jeu de foot |
||
|
|
00
|
|
|
#3 |
|
Membre Expert
![]() Thierry NFC & DevWeb Inscription : avril 2006 Messages : 1 175 ![]() |
Pour compléter un peu la réponse de Cadou, je dirais:
Il y a de multiples façon de répondre à ton problème avec SQL. La solution que propose Cadou me semble assez directe, mais en fonction de ce que tu veux faire il faut adapter. En premier lieu, a ta place j'utliserai des TimeStamp car les comparaisons sont plus faciles. Ensuite j'imagine que ta date d'expiration est soit stockés dans une table de ta base, soit sous forme de Cookie dans le client, soit encore sous forme de SESSION php. Il faut trouver une solution adaptée a ton besoin. |
|
|
00
|
|
|
#4 |
|
Membre confirmé
![]() |
salut
merci pour vos réponses. effectivement ma date d'expiration est stockée dans une table de ma base. Explication: pour accéder à la commande le client doit entrer son identifiant et mot de pass, ensuite grâce à une variable de session, je veux tester si la date d'expiration de son abonnement n'est pas dépassé par rapport à la date du jour. si la date d'expiration est supérieure à date du jour, on continue le code de la page commande. si la date d'expiration est inférieure à la date du jour, il devra être redirigé vers la page de réabonnement. la table clients est composée du nom, prenom, adresse, cp , ville, email, mot de pass, date de saisie, date d'expiration. c'est pour réaliser la requête et le test que je patauge un peu. |
|
|
00
|
|
|
#5 | ||
|
Membre confirmé
![]() |
bonsoir
voici ma réalisation, mais j'ai la fonction date_fin NOW() ne fait la difference <ou> Code :
|
||
|
|
00
|
|
|
#6 |
|
Membre confirmé
![]() |
bonjour
merci beaucoup ça fonctionne, j'ai rectifié seulement la fonction `date_fin` > NOW() je ne suis pas un pro en php, pourrais-tu m'aider à réaliser le code pour rediriger le client vers la page de réabonnement lorsque la date de fin est inférieure à la date du jour. si inférieure: redirection vers page réabonnement si supérieure: on continue la commande |
|
|
00
|
|
|
#7 |
|
Membre Expert
![]() Thierry NFC & DevWeb Inscription : avril 2006 Messages : 1 175 ![]() |
Pour ma part, j'utilise le refresh HTML. D'autres utilise header() en php. Mais le résultat est le même. Dans un cas comme dans l'autre, je te conseil de mettre exit; après la command qui te redirige. Cela permet de clore le process php (je ne connais pas les raisons exactes, mais "il faut faire comme cela c'est mieux disent les Wizards"
.Code :
<meta http-equiv=\"refresh\" content=\"2; url=http://tonurl\"> |
|
|
00
|
|
|
#8 | |
|
Membre chevronné
![]() Inscription : novembre 2003 Messages : 737 ![]() |
Citation:
header() va envoyer une notification directement dans les headers HTTP disant que l'adresse a changée temporairement (ou pas). Cela a un impacte sur le référencement, la qualité de la redirection et sécurité (les redirection META ne se font pas sur tout les navigateurs). exit(); permet tout simplement de ne pas exécuter ni afficher le reste du code et bien faire la redirection au moment voulu évitant ainsi toute triche. Si tu colles un exit; après une balise <meta> tu va couper la sémantique de la page web qui ne sera donc plus standard.
__________________
http://www.ape-project.org/ |
|
|
00
|
|
|
#9 |
|
Membre confirmé
![]() |
bonjour
avec: if ($row_rsRappelClient <='NOW()'){ header('Location: reabonnement.php'); exit; } ça fonctionne |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com