IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Date] Fonctions PHP changeantes ?


Sujet :

Langage PHP

  1. #1
    Membre averti Avatar de Pymento
    Homme Profil pro
    Ingé. Info.
    Inscrit en
    Janvier 2008
    Messages
    366
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingé. Info.

    Informations forums :
    Inscription : Janvier 2008
    Messages : 366
    Points : 329
    Points
    329
    Par défaut [Date] Fonctions PHP changeantes ?
    Bonjour à tous, j'ai un très gros soucis, et je ne sais absolument pas comment y remédier. Étant donner que je ne comprends pas je vous donne le peux d'infos que j'ai et les maigres tests que j'ai pu faire:

    J'ai un calendrier en php, qui marchait très bien jusqu'à hier, avec cette fonction:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $mois = $mois_fr[date("n", mktime(0, 0, 0, $count, date("d"), date("Y")))];
    je récupère le nom du mois depuis un tableau correctement construit($mois_fr), j'incrémente le $count quand j'ai finis de compter les jours relatifs au mois avec plus ou moins le même procédé.

    Depuis aujourd'hui, il ne me met plus le mois de février et me met a la place deux fois mars.

    J'ai récupéré une sauvegarde du projet pour vérifier que ce n'était pas moi qui avant malencontreusement changé un petit détails, et Non, le code de il y a 2 semaines réagi pareil.

    Le navigateur n'est pas non plus en cause, je l'ai testé sur 3 diff.

    l'erreur viens de date ou mktime, me semble t'il. Mais pourquoi du jour au lendemain ?!


    Merci de m'éclairer de vos sages lumières.
    Memento Quia Pulvis Es, Et In Pulverem ReverteriS

  2. #2
    Membre averti Avatar de Pymento
    Homme Profil pro
    Ingé. Info.
    Inscrit en
    Janvier 2008
    Messages
    366
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingé. Info.

    Informations forums :
    Inscription : Janvier 2008
    Messages : 366
    Points : 329
    Points
    329
    Par défaut
    Bon, autre détail que je viens de découvrir:

    Ma fonction marche mal le 29,30 et 31 de chaque mois...(heure du pc)
    Memento Quia Pulvis Es, Et In Pulverem ReverteriS

  3. #3
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    En fait, ta fonction doit poser problème le 29, 30 et 31 pour février et le 31 pour avril, juin, septembre et novembre. En effet, tu utilises la date du jour pour déterminer le mois.
    Or à ma connaissance il n'existe pas de 31 avril... Mais la fonction mktime étant assez retorse, en cherchant le 31 avril, tu n'obtiens pas une erreur, tu obtiens le 1 mai !

    Donc logiquement le problème existe depuis l'origine, mais à moins de la tester un 29, un 30 ou 31, tu ne t'en serais jamais rendu compte.
    Le plus simple serait de prendre le 1er comme jour dans ta fonction (si ça ne s'oppose pas à autre chose)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $mois = $mois_fr[date("n", mktime(0, 0, 0, $count, 1, date("Y")))];
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

Discussions similaires

  1. Petite fonction php permettant d'afficher la date et l'heure en français
    Par gentil2005 dans le forum Contribuez / Téléchargez Sources et Outils
    Réponses: 10
    Dernier message: 08/10/2013, 16h45
  2. Cherche fonction php gestion dates
    Par calitom dans le forum Langage
    Réponses: 5
    Dernier message: 26/05/2010, 11h55
  3. [Dates] Fonction php qui retourne le mois dans une date
    Par super-java dans le forum Langage
    Réponses: 3
    Dernier message: 17/04/2008, 18h24
  4. Appel fonction php dans code javascript
    Par licorne dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 05/03/2008, 10h55
  5. Réponses: 8
    Dernier message: 05/05/2004, 12h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo