Page 1 sur 1

probleme avec php 5

Posté : 01 juin 2009, 13:32
par sokrates
bonjour à tout mes amis,
j'ai développé un formulaire où l'utilisateur fait des upload d'images, et tt marche avec php4 (easyphp 1.8), mais quand j'ai installé le easyphp 3.0 (php 5), je reçois un message d'erreur à la ligne où j'utilise la commande ($HTTP_POST_FILES)

Notice: Undefined variable: HTTP_POST_FILES in C:\Program Files\EasyPHP 3.0\www\fiche-produit\ajout_prd.php on line 15


alors svp, pouvais vous m'aider à corriger mon formulaire

et merci d'avance

Posté : 01 juin 2009, 15:43
par Ryle
L'usage de $HTTP_POST_FILES est déprécié. Il te faut utiliser $_FILES :)

Posté : 01 juin 2009, 16:26
par sokrates
merci de m'avoir répondu, mais svp, pouvais vous m'expliquer plus
coordialement

Posté : 01 juin 2009, 16:39
par zeus
au début, PHP 3, proposait une séries de variables globales pour récupérer les données GET, POST et les fichiers uploadés : respectivement $HTTP_GET_VAR, $HTTP_POST_VAR et $HTTP_POST_FILES.

Depuis PHP 4, le langage a voulu remplacer ces variables par d'autres qui sont : $_GET, $_POST et $_FILES.
Pendant un moment, les 2 étaient disponibles, même si le PHPGroup encouragait l'utilisation des versions courtes.

Depuis PHP 5, le PHPGroup a décidé qu'il ne fallait plus utiliser les versions longues. Pour cela, non seulement elles ne sont plus remplies par défaut, mais en plus, leur utilisation entraine l'affichage d'un NOTICE (ton erreur)

Pour PHP 6, qui se profile, ces variables n'existeront même plus du tout.

Donc, pour résoudre ton problème, tu as 2 solutions :
  • Transformer toutes tes variables $HTTP_GET_VAR, $HTTP_POST_VAR et $HTTP_POST_FILES et $_GET, $_POST et $_FILES (avec la recherche multi-fichiers de la plupart des éditeurs actuels, c'est très simple)
  • modifier le php.ini pour que PHP remplisse ces variables. Mais je te déconseille cette solution, car elle est possible en PHP 5, mais ne sera plus disponible en PHP 6.