Bonjour,
J'ai fait ce petit script pour tester.
En fait j'ai un gros script principal dont voici un extrait:
Code : Tout sélectionner
function copy_errors($mess){
global $var_errors;
$var_errors=$mess;
//$var_errors=$noncritical_errors;
}
function my_exit($code) {
global $stop_on_warning;
global $warning;
//global $noncritical_errors;
//global $var_errors;
// affichage des avertissements eventuels
if(count($warning) > 0) {
$noncritical_errors = "\n";
$noncritical_errors .= "----------------------------------------------------------------------\n";
$noncritical_errors .= "Des avertissements et/ou des erreurs non critiques ont ete rencontres:\n";
for($i = 0; $i < count($warning); $i++) {
$noncritical_errors .= " " . $warning[$i] . "\n";
}
$noncritical_errors .= "----------------------------------------------------------------------\n";
if($stop_on_warning) {
$noncritical_errors .= "\nUne option a ete positionnee pour un arret des traitements meme sur avertissements ou erreurs non critiques\n\n";
}
//print $noncritical_errors;
}
displayerrors($noncritical_errors);
copy_errors($noncritical_errors);
//$var_errors=$noncritical_errors;
//$var_errors=displayerrors($noncritical_errors);
//copy_errors();
//return($noncritical_errors);
// fin des operations
closelog();
exit($code);
}
ce que je cherche à faire c'est isoler les erreurs et les copier dans une variable.
La fonction my_exit(code) est utilisée à plusieurs endroit du programme ( exemple on fait my_exit(1) souvent ).
Je ne veux pas me débarrasser du exit(code) à la fin de la fonction de la fonction my_exit(code) pour ne pas impacter le fonctionnement de mon script.
ma variable globale $non_criticals_errors n'était pas modifiée après l'appel de la fonction et qu'elle contenait toujours la valeur initiale d'affectation plus haut dans le code dans sa déclaration en dehors de la fonction my_exit($code).
Pouvez-vous me donner une astuce pour permettre cette modification ?
