Précédent   Forum des professionnels en informatique > PHP > Langage
Langage Forum sur le langage PHP, la POO, les conventions, la sécurité, etc. Avant de poster : FAQ Langage, toutes les FAQ PHP, cours langage et sources PHP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 02/07/2008, 11h48   #1
Membre habitué
 
Avatar de Jahprend
 
Étudiant
Inscription : juin 2006
Messages : 255
Détails du profil
Informations personnelles :
Âge : 25
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juin 2006
Messages : 255
Points : 131
Points : 131
Envoyer un message via MSN à Jahprend
Par défaut Valeur date qui se réinitialise

Bonjour,

J'ai un peu du mal à comprendre pourquoi une valeur ($datedujour) perd son contenu dans une de mes fonctions :

Code :
1
2
3
4
5
6
7
8
9
$datedujour = time();
  echo "Date du jour : ".date("Y-m-d",$datedujour)."\n";
 
  getDateLivraison($duree_livraison, $tab_jour_nolivraison, $datedujourmodif);
 
function getDateLivraison($duree_livraison, $tab_jour_nolivraison, $datedujourmodif){
 
echo "Date du jour : ".date("Y-m-d",$datedujour)."\n";
}
J'obtiens : Date du jour : 2008-07-02
Date du jour : 1970-01-01

Je la touche pas et elle perd sa valeur... est ce normal?
__________________
On peut être pathéthique sans faire l'éthique du pâté.
Jahprend est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/07/2008, 11h53   #2
Membre confirmé
 
Développeur Web
Inscription : octobre 2006
Messages : 251
Détails du profil
Informations personnelles :
Âge : 24
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : octobre 2006
Messages : 251
Points : 268
Points : 268
c'est tout a fait normal, car $datedujour n'est pas un variable global, si tu veut avoir la même valeur a l'exterieur et a l'interieur de ta fonction, il faut la déclarer global au début de ta fonction :

Code :
1
2
3
4
function getDateLivraison($duree_livraison, $tab_jour_nolivraison, $datedujourmodif){
  global $datedujour;
  echo "Date du jour : ".date("Y-m-d",$datedujour)."\n";
}
benji07 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/07/2008, 11h58   #3
Expert Confirmé
 
Avatar de Eusebe
 
Inscription : mars 2006
Messages : 1 989
Détails du profil
Informations personnelles :
Âge : 34

Informations forums :
Inscription : mars 2006
Messages : 1 989
Points : 3 606
Points : 3 606
Oui c'est normal.

Les variables ne sont pas 'visibles' dans les fonctions.
Pour régler ce problème, deux solutions : passer la variable en paramètre de ta fonction ou ajouter un "global $variable;" au début de ta fonction.

http://php.developpez.com/faq/?page=...depuisfonction
Eusebe est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/07/2008, 14h16   #4
Membre habitué
 
Avatar de Jahprend
 
Étudiant
Inscription : juin 2006
Messages : 255
Détails du profil
Informations personnelles :
Âge : 25
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juin 2006
Messages : 255
Points : 131
Points : 131
Envoyer un message via MSN à Jahprend
C'est une chose que je ne savais pas, merci à vous, j'espere que je vais m'en sortir pour le reste
__________________
On peut être pathéthique sans faire l'éthique du pâté.
Jahprend est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h45.


 
 
 
 
Partenaires

Hébergement Web