Canalblog
Editer l'article Suivre ce blog Administration + Créer mon blog
Publicité
AdrienMinot.canalblog.com
23 mai 2007

Débuggage du programme de gestions de CACES

Hier et aujourd'hui, j'ai installé la dernière version de Xampp sur mon poste.
xampp_logo_new
Xampp1.6.1 est un est un logiciel libre permettant de mettre en place facilement un serveur web et un FTP. Il a les mêmes fonction que le plus connu EasyPHP.

Xampp1.6.1 est installée sur le serveur servweb d'ADEA qui hébergera l'application de gestion des CACES ainsi que sa base de donnée gestioncaces. Ce logiciel devra alors fonctionner aussi bien dans un envirronnement Xampp que sur l'ancien EasyPHP1.6... or ce n'est pas le cas et ma tache cette semaine sera donc de regler ces incohérences.

Au lieu de "m'éparpiller" sur différentes pistes, je me suis concentré sur le cas de la recherche des sessions d'éxamens par années...

Sur l'interface (page nom.php), l'utilisateur entre dans le champ "Recherche par année" l'année dont il souhaite consulter la liste des sessions:
nom

On obtient alors une liste croissante des numéros de sessions de l'année choisie, chaque numéro etant cliquable afin de consulter la fiche correspondante. Cette action fonctionne sous EasyPHP1.6 mais pas sous Xampp1.6.1.

J'ai donc tenté de corriger le code sans succès puis j'ai recherché de l'aide sur 3 forums de développeurs PHP(PHP-France, PHP-Index et Developpez.com) ainsi que sur ce site de tutoriels très clairs http://fr.php.net/register_globals

Des utilisateurs des deux derniers forums cités ont pu me donner des éléments de réponse sur cette incompatibilité du code entre l'ancien EasyPHP1.6 et le récent Xampp1.6.1.

En réalité, il sagit du fait qu'a partir de PHP4, les versions incluent des variables super globales pour les variables provenants d'un formulaire. C'est à dire qu'il faut utiliser des méthodes pour récuperer ces variables. Par exemple, au lieu d'écrire $annee, on écrira $_POST['annee'] ou encore $_GET...

Cela vien du fait que la directive register_globals est sur ON par défaut sur EasyPHP1.6 alors que Xampp1.6.1 la déclare sur OFF. Il serait alors tentant de la remettre simplement sur ON mais cela est déconseillé par la communautée PHP pour diverses raisons (pratiques, sécurité et celle-ci n'existera apparement plus dans les futures versions).

Ce problème rencontré pourrait surrement paraître risible aux utilisateurs PHP plus aguérris mais cet ajout à l'ancien code ne m'ai pas apparu immédiatement et m'a donc fait perdre du temps.
J'ai néammoins continué à travailler sur ce projet non-prioritaire sur lequel je m'etais donné une semaine.

Publicité
Publicité
Commentaires
AdrienMinot.canalblog.com
Publicité
AdrienMinot.canalblog.com
Derniers commentaires
Publicité