Page 1 sur 1
"<?php" oui ! mais "<?" non !
Posté : 15 mars 2007, 21:25
par Guitoux
Bonjour !
Comme l'indique le titre, je ne comprends pas pourquoi quand je mets dans une page PHP la balise <? cela ne fonctionne pas, alors que quand je mets <?php ça marche...
En fait le navigateur ne me retourne pas d'erreur, mais il n'interprete pas le code contenu entre les 2 balises.
J'utilise apache v2.2.4 et PHP 5.2.1
La question est peu etre toute bete mais j'ai bloqué à cause de ça un bon moment et j'aimerai bien savoir pourquoi je dois mettre absolument <?php alors que j'avais déjà crée de nombreuses pages en utilisant la balaise <?
Merci pour votre aide

Posté : 15 mars 2007, 21:30
par zeus
une directive de la configuration de php, "short_open_tag" était, dans les versions 4.x de PHP activée, ce qui permettait d'encadrer des scripts par <? ?>
Depuis PHP 5, cette directive est désactivée, d'où l'obligation d'utiliser <?php qui est LA balise officielle.
Donc ... soit tu réactives les short_open_tag (DECONSEILLE), soit tu utilises la balise <?php (CONSEILLE)
Posté : 15 mars 2007, 21:33
par Guitoux
D'accord merci beaucou pour ces informations !
Effectivement les scripts PHP que j'avais déjà réalisé devaient tourner sous PHP4, voilà pourquoi j'ai été surpris en utilisant la version 5 !
Bon très bien... c'est quand meme fastidieux de devoir rajouter le "PHP" à chaque début de balise...

Posté : 15 mars 2007, 21:34
par Ultiny
Cela s'applique aussi à la syntaxe <?= pour afficher une variable. Tu devra utiliser <?php echo
En tous cas, je ne te conseil pas de modifier la configuration de PHP pour remettre les shortOpenTags.
EDIT:
de devoir rajouter le "PHP" à chaque début de balise...
Attention, bien que ça fonctionne aussi, la notation la plus "officielle" c'est <?php?> et non pas <?PHP?>.
Posté : 15 mars 2007, 23:32
par titerm
Il faut se faire une raison et ne plus utiliser les open short tag pour au moins 2 raisons.
1/ le <? est utiliser par xml pour les balises instruction ( <?xml ... ) et il y a conflit en php et xml.
2/ Il me semble qu'avec php6, les open short tags ne seront tout simplement plus possible
Posté : 15 mars 2007, 23:46
par @rthur
2/ Il me semble qu'avec php6, les open short tags ne seront tout simplement plus possible
Si si elles sont encore dispo avec PHP 6 (mais ce n'est pas une raison pour continuer à les utiliser

)
Posté : 23 mars 2007, 18:36
par Expreg
En gros , retiens la règle simple :
- l'utilisation de <?php ... ?> assure un fonctionnement partout sur toutes les configurations serveur.
Le reste pas !