Notice : Undefined Offset ??? [Resolu] - PHP - Programmation
Marsh Posté le 26-02-2005 à 13:47:40
Ca serait super d'avoir le texte du notice pour pas parler dans le vide à partir de supositions tiré d'une boule de christal.
Marsh Posté le 26-02-2005 à 14:07:12
et sors le count de ta boucle, pas besoin de la calculer a chaque fois...
Marsh Posté le 26-02-2005 à 15:56:53
omega2 a écrit : Ca serait super d'avoir le texte du notice pour pas parler dans le vide à partir de supositions tiré d'une boule de christal. |
j'aime bien la reponse un peu aggressive ou un peu foutage de gueule alors voila le message entier histoire de montrer que c ni une supposition ni du nostradamus powa :
Notice: Undefined offset: 1 in ..\easyphp\blablablabla on line 166
(and now look teh topic's title )
Bon a priori il doit y avoir une couille dans le potage au niveau de la lecture du fichier peut etre, car si y a un pb avec $Ligne[1], c surement qu il ne trouve aucune valeur...
Marsh Posté le 26-02-2005 à 15:57:48
KangOl a écrit : et sors le count de ta boucle, pas besoin de la calculer a chaque fois... |
ok c note, merci bien
Marsh Posté le 26-02-2005 à 15:59:24
fait un print_r de $Ligne pour voir sont contenu...
Marsh Posté le 26-02-2005 à 16:08:53
if (isset($Ligne[1])){
// la case du tableau existe
}else{
// la case n'esiste pas, et si on utilise $Ligne[1] là dedans, on a le fameux "notice"
}
Si t'as eu ce notice, c'est par ce que le php.ini est réglé pour afficher aussi ce genre de notice et pas uniquement les erreurs.
Marsh Posté le 26-02-2005 à 17:04:43
omega2 a écrit : if (isset($Ligne[1])){ |
Ce que je trouve pour ma part finalement très pratique une fois qu'on s'y est habitué.
Marsh Posté le 26-02-2005 à 18:52:03
Moi aussi, et ca réduit grandement les risques de production de code potentiellement peu sécurisé. Mais c'est sur que ca force à faire attention au code, par ce que le moindre écart et c'est un beau "notice" qui apparait.
Marsh Posté le 26-02-2005 à 18:54:30
oui je suis au courant de ca, je veux justement etre en E_ALL...
Marsh Posté le 26-02-2005 à 19:02:07
Bonne résolution, comme ça, tu produiras du code bien plus propre que ce qu'on voit parfois.
Marsh Posté le 26-02-2005 à 19:10:06
Je reviens sur mon pb, que g vraiment delaisse cet aprem a cause du rugby , mais g beau mettre des print_r de partout, il m affiche bien les infos de mes tableaux EN PARTICULIER APRES LE EXPLODE.
Pourtant des qu il y a le bloc suivant, g un notice undefined offset
if (strcasecmp( $Ligne[1], 'Info')==0 and
strcasecmp( $Ligne[2], 'Absolute_Time')==0)
Marsh Posté le 26-02-2005 à 19:16:06
Cela pourrait il venir du fait que mon fichier est un fichier unicode ?
[Edit:] on dirait que oui, qqun connait il une procedure rapide et facile pour parser tout le fichier unicode histoire de remplacer les caracteres speciaux, ou de le transformer dans une sorte de fichier textes "standard" ?
Marsh Posté le 26-02-2005 à 19:17:18
print_r $Ligne;
te retourne bien 1=>'Info' et 2=>'Absolute_Time'? (ou d'autres mots mais bien avec les index 1 et 2)
Marsh Posté le 26-02-2005 à 19:23:51
a priori Oui (cf ma reponse precedente)
Marsh Posté le 26-02-2005 à 19:31:21
Bizare. Et il y a aucune ligne du fichier pour lequel il manquerait une donnée dans la variable tableau? D'aprés le message, ca devrait mais tu dis le contraire alors c'est bizare comme truc.
Marsh Posté le 26-02-2005 à 20:00:05
un strcasecmp ne fonctionne pas a priori entre ma chaine recupere du fichier unicode et ma chaine de comparaison qd je parse
Une idee ?
Marsh Posté le 26-02-2005 à 20:06:39
essaye un
Code :
|
Marsh Posté le 26-02-2005 à 20:26:40
ne change rien, tjs notice undefined offset, et n arrive pas a entrer dans la condition
G donc un gros pb du a l unicode
Marsh Posté le 26-02-2005 à 20:36:13
Mon probleme etait encore plus profond que cela...car en fait c etait de n unicode 16bt
G donc trouve cette petite fonction dans un des commentaires de php.net
Ca marche nickel chrome donc on ne sait jamais ca pourra tjs aider qqun
Code :
|
Marsh Posté le 26-02-2005 à 13:24:31
Bonjour,
voila sous easyphp 1.7 g des notices qui reviennent sur toute une serie de comparaison de chaine depuis un log unicode, je me doute que ce notice provient d un array mais je ne pige pas pk, et ce que c reellement...
Voila par ex un bout de code ou juste g un notice :
G un notice sur le "if strcasecmp( $Ligne[1] " .....
Une idee ? Merci
Message édité par mkracing66 le 26-02-2005 à 20:38:10