J'essaie de mettre en place un serveur Web sous Windows dans le cadre d'un stage. J'ai donc installé WAMP5, seulement lorsque je vais dans localhost, mon fichier index.php plante:
Parse error: syntax error, unexpected '}' in D:\DossierFTP\www\intrabetom\index.php on line 143
De plus, en lancant le localhost, il me dit MySQL n'est pas lancé ou votre configuration phpmyadmin n'est pas bonne. Hors, tous mes services sont démarrés ??
Voici le fichier index.php concerné, il correspond au logiciel JBCExplorer, qui estun excellent explorateur de fichiers.
<?php # +------------------- JBC explorer ----------------------+ # | SCRIPT Entierement Ecrit par Jean Charles MAMMANA | # | SCRIPT Entierement modifie par Xavier MEDINA | # | Url : [www.jbc-explorer.com] | # | Contact : jc_mammana@hotmail.com | # | Contact : xabi62@yahoo.fr | # | | # | Tous les scripts utilisé dans ce projet | # | sont en libre utilisation. | # | Tous droits de modifications sont autorisé | # | à condition de nous en informer comme précisé | # | dans les termes du contrat de la licence GPL. | # | | # +-------------------------------------------------------+
@session_start(); $_SESSION['test_sessions'] = 'ok'; # Partie utilisée pour le module compteur if (!isset($_SESSION['Arrivee'])) { # Le visiteur arrive directement par ici, on sauvegarde son referer si il existe if (isset($_SERVER['HTTP_REFERER'])) $_SESSION['HTTP_REFERER'] = $_SERVER['HTTP_REFERER']; else $_SESSION['HTTP_REFERER'] = 'null'; $nom_fichier_full = substr($_SERVER['SCRIPT_NAME'], strrpos($_SERVER['SCRIPT_NAME'], '/')+1); $nom_fichier = substr($nom_fichier_full, 0, strlen($nom_fichier_full)-4); $_SESSION['Arrivee'] = $nom_fichier; } if(!isset($_SESSION['authLogin'])) { $_SESSION['authLogin'] = ""; $_SESSION['authPassword'] = ""; $_SESSION['priorite'] = 99; } # On vérifie si la langue à été modifier if (isset($_GET['lang'])) { $_SESSION['lang'] = $_GET['lang']; } else unset($_SESSION['lang']);
# modifier cette ligne selon le nom du dossier systeme include_once('./dirsys/config.inc.php');
Il faut être cohérent et employer partout des balises longues "<?php" et non pas un coup une longue, un autre coup une courte.
Ensuite, il faut utiliser un éditeur de texte comportant une coloration syntaxique, ce qui permet, par exemple, de positionner le curseur sur une accolade fermante "}" et de voir l'accolade ouvrante "{".
De plus, je n'aime pas beaucoup huit ouvertures fermetures de balises php (<?php ?> en trois lignes. C'est la porte ouverte aux erreurs.
Enfin, ce problème n'a strictement RIEN à voir avec Wamp.
ok merci des conseils et désolé pour le dérangement mais je me disais que comme ca marchait sous THG et FREE et pas sous WAMP5, j'avais peut etre oublié un paramétrage quelque part.
Je revérifie mon fichier tel que vous l'avais dis et merci encore pour la réponse.
Chez Free, même avec PHP version 5, la directive "short_open_tag" est sur on, c'est-à-dire que les balises courtes "<?" sont acceptées. Avec Wamp5, par défaut, la directive "short_open_tag" est sur off, c'est-à-dire que seules sont reconnues les balises longues "<?php". Votre problème vient de là. La solution de facilité serait de modifier le php.ini de Wamp5, mais ce n'est pas la bonne solution. La bonne solution est d'employer toujours les balises longues "<?php", ce qui assurera la portabilité quel que soit l'hébergeur.
Ensuite, astreignez vous à : - Commenter le code - Indenter les structures et aligner le code, ce qui permet de s'y retrouver - Utiliser les bons outils . Éditeur de texte spécialisé PHP/HTML . Firefox comme navigateur avec des extensions comme : Web Developer HTML Validator IETab - Mettre "error_reporting = E_ALL" dans wamp/apache2/bin/php.ini
Qu'est-ce que ça peut faciliter la programmation !