ma première function :p

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : ma première function :p

par Cyrano » 07 mai 2007, 17:52

Je me permets de reprendre un peu la réponse pour la formuler différemment :

Dans ta fonction, tu as défini un certain nombre de paramètres :
function date_time($date, $time, $jour, $mois, $annee) 
On voit ici 5 paramètres attendus. Aucun n'a de valeur par défaut. Donc si, lorsque tu apelles ta fonction, tu n'en envoies pas 5, tu auras automatiquement autant de messages d'erreurs qu'il manquera de valeurs.

Pour résoudre ce problème, tu peux très bien définir des valeurs par défaut en les mettant à NULL par exemple, ce qui donnerait :
function date_time($date = null, $time = null, $jour = null, $mois = null, $annee = null) 
Mais dans ce cas, pour ne pas avoir de messages d'erreur plus loin lors de l'exécution, il te faut définir si tu as ou non reçu une valeur pour tel ou tel paramètre et, le cas échéant, utiliser la valeur ou bien la définir arbitrairement : ça donnerait :
function date_time($date = null, $time = null, $jour = null, $mois = null, $annee = null)
{
   // definition de la date complete et de l'heure sur server
   $date  = isset($date)  ? $date  : date("d/m/Y");
   $time  = isset($time)  ? $time  : date("G:i:s");

   // definition du jour, du mois et de l'année
   $jour  = isset($jour)  ? $jour  : date("d");
   $mois  = isset($mois)  ? $mois  : date("m");
   $annee = isset($annee) ? $annee : date("Y");
} 
Attention cependant :
-1- tu dois envoyer des valeurs correspondant au types de données attendues;
-2- ta fonction actuelle ne retourne rien du tout : en clair, elle ne sert actuellement strictement à rien.

par Maitrepylos » 07 mai 2007, 16:26

Puis-je te conseiller un livre, l'investissement est peu onéreux et te rendra de grand service. :wink:

par BeRoots » 07 mai 2007, 16:04

je sait l'exemple n'est pas trs pertinent vue que la fonction date existe :?

par contre j'ai fait ainsi et tout fonctionne :)
// fonction date_time
function date_time($var)
{
   if($var == 'date')
   {
      $date = date("d/m/Y");
      return $date;
   }
   if($var == 'time')
   {
      $time = date("G:i:s");
      return $time;
   }
   if($var == 'jour')
   {
      $jour = date("d");
      return $jour;
   }
   if($var == 'mois')
   {
      $mois = date("m");
      return $mois;
   }
   if($var == 'annee')
   {
      $annee = date("Y");
      return $annee;
   }
}
voila c'est tout pour le moment mais je laisse le sujet ouvert car je vait attaquer les chose serieuse coté fonction :langue:

d'ailleur au cas ou quelqu'un veuille bien m'expliquer à quoi sert l'argument CASE et comment l'utilisé ;)

par Maitrepylos » 07 mai 2007, 15:53

Heu comment dire.

Une fonction retourne ou non un résultat.

En l'occurrence toi tu voudrais qu'il retourne l'année, or dans ta fonction il ne retourne rien.

Exemple :
function Ecrit()
{
    echo 'Salut toi'
  
}

quand tu appelle cette fonction cela va afficher 'Salut toi'.





function Ecrit($mot)
{
    echo $mot
  
}
dans ce cas, il faut appeler la fonction avec un paramètre
Ecrit('bonjour moi')

Cela affichera 'bonjour moi'.


Dans ton cas, les erreurs te dises simplement qu'il te manque 4 paramètres.

il est plus simple d'utiliser la fonction date().

Suis-je assez clair pour toi ?

ma première function :p

par BeRoots » 07 mai 2007, 15:43

salut la compagnie :)

me voila confronter à ma première function. voici un exemple tout bète:
// fonction date_time
function date_time($date, $time, $jour, $mois, $annee)
{
   // definition de la date complete et de l'heure sur server
   $date = date("d/m/Y");
   $time = date("G:i:s");

   // definition du jour, du mois et de l'année
   $jour = date("d");
   $mois = date("m");
   $annee = date("Y");
}
pour utiliser ceci sur une page, je fait un require du fichier fonctions.php

ensuite dans la page je fait comme suit:
echo "<p>l'ann&eacute;e est '.date_time($annee).'</p>";
mais j'ai des erreurs comme suit:
Warning: Missing argument 2 for date_time(), called in C:\Program Files\EasyPHP 2.0b1\www\chart_v1.7\includes\xhtml_site.php on line 110 and defined in C:\Program Files\EasyPHP 2.0b1\www\chart_v1.7\includes\fonction.php on line 3

Warning: Missing argument 3 for date_time(), called in C:\Program Files\EasyPHP 2.0b1\www\chart_v1.7\includes\xhtml_site.php on line 110 and defined in C:\Program Files\EasyPHP 2.0b1\www\chart_v1.7\includes\fonction.php on line 3

Warning: Missing argument 4 for date_time(), called in C:\Program Files\EasyPHP 2.0b1\www\chart_v1.7\includes\xhtml_site.php on line 110 and defined in C:\Program Files\EasyPHP 2.0b1\www\chart_v1.7\includes\fonction.php on line 3

Warning: Missing argument 5 for date_time(), called in C:\Program Files\EasyPHP 2.0b1\www\chart_v1.7\includes\xhtml_site.php on line 110 and defined in C:\Program Files\EasyPHP 2.0b1\www\chart_v1.7\includes\fonction.php on line 3
si quelqu'un veut bien m'expliquer un peu la methode ;)
merci d'avance