begin process at 2012 05 30 21:07:14
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Général

 > 

fonction + renvoie d'erreur


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

fonction + renvoie d'erreur

vendredi 23 février 2007 à 15:13:34 | fonction + renvoie d'erreur

caviar

    Saluté ...
j'ai une question sur les fonctions... Comme j'ai appris une 'vrai' fonction est censée renvoyer un résultat true ou false de façon à pouvoir l'utiliser comme suit

if (mafonction() ){
    echo 'ça dit true';
} else {
    echo 'ça dit false';
}

bon ça je sais faire ...sauf que j'aimerai que ma fonction quand elle renvoie false renvoie aussi à côté une variable avec à l'intérieur un message d'erreur que je puisse afficher ...
c'est possible ça ?

merci
@+
vendredi 23 février 2007 à 15:17:32 | Re : fonction + renvoie d'erreur

coockiesch

Yop!
Si vraiment tu veux une fonction 100% bool:

$error = NULL;
function maFonction( &$error ) // passage de $error par référence
{
  // code php ici

  if( ... ) // si erreur
  {
    $error = 'erreur1';
    return false;
  }

  // encore du code

  if( ... ) // si erreur
  {
    $error = 'erreur2';
    return false;
  }

  return true;
}

Si ca renvoie false, l'erreur est dans $error...

Sinon, si tu n'as pas besoin d'une fonction à 100% bool, tu peux renvoyer true en cas de succès et un message d'erreur sinon...

@++

R@f

La boîte à bouts de codes
"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"
vendredi 23 février 2007 à 15:37:10 | Re : fonction + renvoie d'erreur

caviar

    yess je vais essayer ...
ben le truc c'est que dans mon cas l'erreur ne doit pas forcément s'afficher au moment de l'exé de la fonction et en plus la fonction vas tester un tas de paramètres donc certains seront ok et d'autres non ... donc je dois générer une erreur personnalisée pour chaque paramètre testé ... il me faut donc un renvoi du message d'erreur à côté de la réponse bool ...

c'est le & dans la syntaxe qui permet ça ?
en fait dans function maFonction( &$error )
&$error n'est pas un paramètre qu'on envoie à la fonction mais une variable que la fonction vas me renvoyer en en plus de son return ?

ou bien c'est ma fonction qui vas remplir la variable $error mais qui est placée en dehors d'elle même ? (dans ce cas faut il obligatoirement la déclarer avant d'exécuter cette fonction ?)

merci pour tout
@++
vendredi 23 février 2007 à 15:42:42 | Re : fonction + renvoie d'erreur

caviar

re
je viens de tester en  local mais j'ai un message d'erreur

Warning: Call-time pass-by-reference has been deprecated - argument passed by value; If you would like to pass it by reference, modify the declaration of [runtime function name](). If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file. However, future versions may not support this any longer.

c'est pas activé par défaut le passage par référence ?
bizare non
++
vendredi 23 février 2007 à 15:46:44 | Re : fonction + renvoie d'erreur

caviar

    bon ben j'ai trouvé ça à ce sujet
http://www.developpez.net/forums/showthread.php?t=55023

apparament ça fait un moment que ça ne se fait plus comme méthode :(...
je pense que mon hébergeur ne me permettra pas de l'utiliser

comment puis je faire autrement ?

vendredi 23 février 2007 à 16:00:10 | Re : fonction + renvoie d'erreur

coockiesch

Réponse acceptée !
En fait, il faut mettre le & dans la définition de la fonction mais pas lors de l'appel...

Dans un passage par valeur (comme normalement) une copie de la valeur de la variable est donnée à la fonction ; quelque soit donc le comportement de la fonction, cela n'affecte pas la variable originale.

Avec un passage par référence, c'est l'adresse mémoire qui est transmise à la fonction... Les modifs se font donc sur la variable directement! :)

@++

R@f

La boîte à bouts de codes
"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"
vendredi 23 février 2007 à 16:15:22 | Re : fonction + renvoie d'erreur

caviar

    ok...ça peut être pratique effectivement !
je vais utiliser ça !
merci bcp !
@++


Cette discussion est classée dans : fonction, erreur, true, false, renvoie


Répondre à ce message

Sujets en rapport avec ce message

gestion erreur fatale [ par eax ] salutg un pb: une erreur apparait de temps en temps sur un ImageCreateFromJpeg() suivant la taille de mon image et j'aimerais pouvoir en etre au coura erreur: undefined index... [ par alanbraxe31 ] bonjour à tous!voici mon script:<input type="hidden" name="rechercher" value=" classe, retour constructeur pour éviter le bricolage [ par aurelien0306 ] Bonjour (enfin bonsoir)voila j'ai une classe qui "gere" ses erreurs :elle possède un attribut erreur de type tableau qui conserve l'erreur courante... Problème error_log [ par Bestgamer ] bonjour,J'ai un problème avec la fonction error_log. J'ai fait une fonction pour gérer les messages d'erreurs mais la fonction error_log n'enregistre Problème pour afficher le résultat de 2 liste déroulantes en php [ par sand285 ] Salut,J n'arrive pas à obtenir le résultat de mes 2 listes déroulantes.Cad: quand je sélectionne une couleur dans le premier choix et le deuxième choi probleme fonction exec [ par morgandetoi06 ] voila j ai un prbleme avec la fonction execquand je fait :exec("C:\Program Files\Azureus\Azureus.exe");?>ça me donne l erreur apache :'C:\Program' n'e Bouton avec fonction php [ par MisterJAD ] Bonjour à tous,Voilà mon problème :J'utilise function password_generator($size , $with_numbers=true , $with_tiny_letters=true , $with_capital_letters= Comment utilisé la fonction link()? [ par necrodede ] Salut @ tous! Tout est dans le titre, mais je vais appronfondir mon cas en vous montrant l'erreur que j'ai et comment j'ai écrit la fonction: Dans mon Probleme de variable globale [ par stutzmann ] Salut à vous tous, je suis debutant et j'ai un probleme je n'arrive pas à declarer les variables$index_fonction et $titre_fonction en tant  que tablea Fonction ereg [ par Seb33300 ] Je souhaiterai controler qu'une chaine de texte contiene uniquement les caracteres de a à z, les chiffres de 0 à 9 et les caractere . ou -Pour cela j'


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,718 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales