Notice à la *** que j'arrive pas à enlever !

Notice à la *** que j'arrive pas à enlever ! - PHP - Programmation

Marsh Posté le 14-11-2003 à 16:41:40    

Jusqu'alors, j'avais la version 1.6 de easyPHP qui désactivait par défaut les notices (j'ignorais leur existence en fait), et je viens d'installer la version 2.0 d'easyPHP et j'ai tout d'un coup pas mal de notice en tout genre, dont celle-ci :
 
Notice: Undefined offset: 4 in d:\siteweb\monsite\caffichage.php on line 533
 
A la ligne 533, on trouve :
 
 
if($article[$i]['id_article'] != "" ) { //si article existe
 
 
Alors avant de me prendre trop la tête pour savoir ce qu'il entend par Undefined offset, j'aimerais avoir vos lumières !

Reply

Marsh Posté le 14-11-2003 à 16:41:40   

Reply

Marsh Posté le 14-11-2003 à 16:53:25    

ben ça veut dire ce que ça veut dire, tu n'as pas d'offest qui s'appelle 'id_article'.
 
Faudrait voir à arrêter de prendre la mauvaise habitude de croire que le fait qu'une variable ne soit pas défini est équivalent à ce qu'elle soit nulle.

Reply

Marsh Posté le 14-11-2003 à 16:53:56    

Ca veut dire que isset($article[$i]['id_article']) = false.
Soit l'indice $i de $article n'existe pas, soit l'indice id_article de $article[$i] n'existe pas. Peut être même que c'est $article qui n'existe pas, j'ai pas vérifié ça.

Reply

Marsh Posté le 14-11-2003 à 17:29:18    

Et comment on les enleves???

Reply

Marsh Posté le 14-11-2003 à 17:30:05    

Il y une méthode qui consiste a éditer le fichier php.ini mais ya -t -il possibilté d'inclure un petit code ds le script qui les désactive?Merci

Reply

Marsh Posté le 14-11-2003 à 17:58:31    

Ne les enlève pas. Chaque notice est une faille potentielle.

Reply

Marsh Posté le 14-11-2003 à 18:26:37    

Zut, moi, jarrives pas a les activer. :o
J'avais "error_reporting = E_ALL & ~E_NOTICE"
je l'ai passé en "error_reporting = E_ALL" et j'ai redémarer apache mais ca change rien. :o

Reply

Marsh Posté le 14-11-2003 à 18:28:25    

t'as bien modifier la ligne effective? pas celle mise en commentaire?

Reply

Marsh Posté le 14-11-2003 à 18:33:13    

Oui, à première vue c'est bien ça que j'ai fait.
Tout à coup, je me demandes si j'ai bien le php.ini dans le bon répertoire.
Bon, je viens de tester et c'est ça. :(
J'avais mis le php.ini dans le même répertoire que le fichier php.exe (jr suis sous win) alors que c'était dans le même répertoire qu'apache qu'il était pris en compte. Une erreur bête quoi.

Reply

Marsh Posté le 14-11-2003 à 22:03:59    

Bon je viens à bout peu à peu de mes notices...
 
 

Citation :


Faudrait voir à arrêter de prendre la mauvaise habitude de croire que le fait qu'une variable ne soit pas défini est équivalent à ce qu'elle soit nulle.


 
On en accumule des mauvaises habitudes en programmant depuis 2 ans sans activer les notices :o

Reply

Marsh Posté le 14-11-2003 à 22:03:59   

Reply

Marsh Posté le 15-11-2003 à 21:54:22    

@if($article[$i]['id_article'] != "" ) { //si article existe
 
:]

Reply

Marsh Posté le 16-11-2003 à 17:47:32    

Je connaissais pas, ca peut servir en effet ! :)
 
Mais sinon, ayé, j'ai du en virer 95%, soit env une centaine :)


Message édité par lalex le 16-11-2003 à 17:47:45
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed