[PHP] Undefined Variable existante ...
Résolu/Fermé
Utilisateur anonyme
-
Modifié par sonik21 le 2/05/2010 à 00:41
Utilisateur anonyme - 3 mai 2010 à 18:13
Utilisateur anonyme - 3 mai 2010 à 18:13
A voir également:
- [PHP] Undefined Variable existante ...
- Easy php - Télécharger - Divers Web & Internet
- Undefined index php post ✓ - Forum PHP
- Php?id=1 - Forum PHP
- Variable objet ou variable de bloc with non définie - Forum VB / VBA
- \R php ✓ - Forum PHP
2 réponses
Euh il me semble au contraire que $error est définie trois fois et que ce n'est pas une variable mais un tableau.
Je peut me tromper mais tu as indiqué dans ta fonction que le paramétre doit être une variable:
//--
function get_errors($errors_log)
//--
/* pour indiquer que c'est un tableau le paramétre il faut mettre:
function get_errors($errors_log[]){
//-- ce que fait ma fonction
}
//--------autre problème avec les tableaux, décidément, mais bon la ca dervait marquer une erreur direct
$error = array();
// odnc on a un array
$error[] = 'erreur#1';// faux on n'affecte pas une string à un array l'opérateur de concaténisation est le '.' en php.
/* donc au lieu de:
$error[] = 'erreur#2';
$error[] = 'erreur#3';
*/
//-- c'est plus juste:
$error[].='erreur#1;/*-- le point dans le cas d'un array a indice numérique et sans le dit indice entre les crochets va concatener/rajouter le string à la fin du tableau(nouvel indice)*/
$error[].='erreur#2;
$error[].='erreur#3;
//--ou alors encore plus simple:
$error= array('erreur#1'','erreur#2','erreur#3');
Je peut me tromper mais tu as indiqué dans ta fonction que le paramétre doit être une variable:
//--
function get_errors($errors_log)
//--
/* pour indiquer que c'est un tableau le paramétre il faut mettre:
function get_errors($errors_log[]){
//-- ce que fait ma fonction
}
//--------autre problème avec les tableaux, décidément, mais bon la ca dervait marquer une erreur direct
$error = array();
// odnc on a un array
$error[] = 'erreur#1';// faux on n'affecte pas une string à un array l'opérateur de concaténisation est le '.' en php.
/* donc au lieu de:
$error[] = 'erreur#2';
$error[] = 'erreur#3';
*/
//-- c'est plus juste:
$error[].='erreur#1;/*-- le point dans le cas d'un array a indice numérique et sans le dit indice entre les crochets va concatener/rajouter le string à la fin du tableau(nouvel indice)*/
$error[].='erreur#2;
$error[].='erreur#3;
//--ou alors encore plus simple:
$error= array('erreur#1'','erreur#2','erreur#3');
ah oui pardon j'avait lu une variable ou tu mets une string.
As tu essayé $error [].= au lieu de $error[]=
parfois il suffit d'un truc tout bête et ça fait 2 mois que j'en chXXX sur des tableaux à multidimensions à cause d'une analyse bâclée...merci patron
As tu essayé $error [].= au lieu de $error[]=
parfois il suffit d'un truc tout bête et ça fait 2 mois que j'en chXXX sur des tableaux à multidimensions à cause d'une analyse bâclée...merci patron
Avec la concaténation ça ne marche pas mieux ... :/
Enfin je pense que je vais rajouter un paramètre à ma fonction qui contiendra le texte, ce sera aussi simple à mettre en place ^^
Enfin je pense que je vais rajouter un paramètre à ma fonction qui contiendra le texte, ce sera aussi simple à mettre en place ^^
<?php function get_errors(array $errors_log, $log_name) { $errors_log = implode("\n", $errors_log); $fp_errors_log = fopen($log_name.'.txt', 'a+'); fwrite($fp_errors_log, "\n".$errors_log); fclose($fp_errors_log); } ?>Le texte est séparé de la variable, ça m'oblige à recopier deux fois le nom de la variable, mais au moins ça fonctionne ^^
2 mai 2010 à 01:44
Pour ce qui est de l'affection du texte à mon array, la façon dont je le fais fonctionne parfaitement, et me semble correct ...
Merci tout de même pour ta réponse ;)