probleme de quote lors du passage de easy php 1.6 à wamp server 2

Petit nouveau ! | 3 Messages

05 mai 2009, 15:52

Bonjour,
j'ai un petit problème que je n'arrive pas a résoudre:
il s'agit d'une apli php qui tournai très bien sur mon ancienne configuration en easy php, mais depuis le passage sur wamp server les simple quotes ne sont plus prise en compte (apparement).
J'ai lu quelques posts dans des forum qui disait qu'il falait modifier l'option "magic_quotes_gpc" du fichier de configuration de php (php.ini) , je l'ai fait mais rien n'a changé.
Voila un bout de code qui illustre mon problème:

Code : Tout sélectionner

</tr> <tr> <? if ($affiche=1) { echo "<td align='center' colspan ='6'> Début : (n°semaine/année) \t <input type='text' name='debut' value='".$date."' size='7'> \t </td>"; } ?> </tr> <tr> <? if ($affiche2=1) { echo "<td align='center' colspan ='6'> <input name='associer' type='submit' value='Associer'> </td>"; } ?> </tr>
et voila le resultat:
Image



J'ai ce probleme sur pratiquement toutes mes pages, quelqu'un aurais-il une solution?
Merci d'avance.


------------------------------------------------------
Configuration initial:
win 2000+ easy php 1.6 (apache 1.3.24, php 4.2.0, mysql 3.23.49, phpmyadmin 2.2.6)

Configuration final:
win XP+ Wamps server 2 (apache 2.2.11, php 5.2.9-1, mysql 5.1.32, phpmyadmin 3.1.3

Mammouth du PHP | 568 Messages

05 mai 2009, 15:58

D'une part, as-tu relancer xampp suite à ta modification du .ini?

Et d'autre part,
Si la directive magic_quotes_sybase est aussi activée, elle écrasera magic_quotes_gpc. Avec les deux directives activées, seuls les guillemets simples seront protégés avec un autre guillemet simple. Les guillemets doubles, les antislashs et les NUL ne seront pas protégés.
EDIT: il sert à quoi le \t ?

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

05 mai 2009, 15:59

cela viens du fait que Wamp est configuré correctement, contrairement à EasyPHP, et qu'il n'authorise que les balises PHP standards, qui sont "<?php ?>".

Dans ton code, tu utilises les "short open tag "<? ?>" qui ne sont pas conseillées (et qui seront même interdites avec PHP 6).

Pour parer au plus pressé, tu peux activer l'option short_open_tag dans ton php.ini.
Avec Wamp, depuis le menu de la barre des tâches, tu devrais également pouvoir l'activer.

Il n'empeche que je te conseille de modifier tout ton code pour remplacer "<?" par "<?php" et "<?=" par "<?php echo"
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Petit nouveau ! | 3 Messages

05 mai 2009, 16:53

Mon problème est corrigé, tu avait raison zeus, j'ai activer l'option short_open_tag pour verifier, et la plus de problème, merci beaucoup (j'ai cherché l'erreur toute la journée! :o ).

Pour le \t, je ne sais pas a quoi il sert, en fait ce n'est pas mon code je suis en train de reprendre le code d'un précedent développeur, pour le corriger et le migrer sur wamp server

Merci a vous deux!

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

05 mai 2009, 17:05

Il n'empeche que je te conseille de modifier tout ton code pour remplacer "<?" par "<?php" et "<?=" par "<?php echo"
Essaye de ne pas faire l'impasse la dessus parce que tu as réussi à faire marcher ton code ;)

Sinon, le \t insère une tabulation dans la chaine.
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer