Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

balises

8 réponses
Avatar
alainL
Bonjour,

Ce code marchait sur le site distant et sur mon vieil EasyPHP.
Mais sur une nouvelle installation (Easy ou Wamp) il n'est pas
interprété il me semble

<?php include ("medaillons.php");
?>
(Ce fichier détermine le nom (aléatoire) d'une image.)
-------------------------------------------------------------

<p><img src='Images/<?=$image[$i] ?>.png' height="250" align='right'
hspace='150' alt= '<?= $titre[$i] ?>' title= '<?= $titre[$i]
?>'............

Ayant lu que <?php devait être préféré à <? je me demande si le code
appelant l'image est correct, mais après plusieurs essais générant des
erreurs j'envoie un SOS !
merci à l'avance
--
AlainL

8 réponses

Avatar
Thomas Mlynarczyk
alainL schrieb:

<p><img src='Images/<?=$image[$i] ?>.png' height="250" align='right'
hspace='150' alt= '<?= $titre[$i] ?>' title= '<?= $titre[$i]
?>'............



Ca ne marche pas si short_open_tag = off dans php.ini
(http://php.net/manual/fr/ini.core.php). A partir de PHP 5.4.0 la
notation <?= est toujours disponible.

Thomas

--
Ce n'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont raison!
(Coluche)
Avatar
alainL
Le 13/12/2011 13:42, Thomas Mlynarczyk a écrit :
alainL schrieb:

<p><img src='Images/<?=$image[$i] ?>.png' height="250" align='right'
hspace='150' alt= '<?= $titre[$i] ?>' title= '<?= $titre[$i]
?>'............



Ca ne marche pas si short_open_tag = off dans php.ini
(http://php.net/manual/fr/ini.core.php). A partir de PHP 5.4.0 la
notation <?= est toujours disponible.

Thomas



wamp m'a installé PHP 5.3.0 J'ai trouvé dans php.ini :
short_open_tag : default value : on
Developpement value : off
Production value : off

C'est bon ça ?
--
AlainL

http://autourdalos.fr
Avatar
Thomas Mlynarczyk
alainL schrieb:

wamp m'a installé PHP 5.3.0 J'ai trouvé dans php.ini :
short_open_tag : default value : on
Developpement value : off
Production value : off

C'est bon ça ?



Si c'est comme ça:

...
; Default Value: On
; Development Value: Off
; Production Value: Off
; http://php.net/short-open-tag
short_open_tag = Off
...

Il faut changer la dernière ligne en
short_open_tag = On
et peut-être redemarrer le serveur.

(Les lignes qui commencent en ; sont des commentaires et sont donc
ignorées par PHP.)

Mais la meilleure solution c'est d'utiliser toujours <?php et <?php echo
pour être sûr que le code fonctionnera sur tous les serveurs.

Thomas

--
Ce n'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont raison!
(Coluche)
Avatar
alainL
Le 13/12/2011 17:43, Thomas Mlynarczyk a écrit :
alainL schrieb:
................

Mais la meilleure solution c'est d'utiliser toujours <?php et <?php echo
pour être sûr que le code fonctionnera sur tous les serveurs.

Thomas



Mais je n'ai pas réussi à modifier ce code
<p><img src='Images/<?=$image[$i] ?>.png'
- - - - - - - - - - -
<?php= .... n'est pas reconnu comme code php
<?php = .... parse erreur
et le point-virgule avant ?> n'arrange rien...

Mais le plus étonnant est que le code fonctionne en local avec EasyPHP
(apache 1.3.27 et php 4.3.3) sous XP ainsi qu'en distant.

--
AlainL

http://autourdalos.fr
Avatar
Denis Beauregard
Le Tue, 13 Dec 2011 19:40:57 +0100, alainL
écrivait dans fr.comp.lang.php:

Le 13/12/2011 17:43, Thomas Mlynarczyk a écrit :
alainL schrieb:
................

Mais la meilleure solution c'est d'utiliser toujours <?php et <?php echo
pour être sûr que le code fonctionnera sur tous les serveurs.

Thomas



Mais je n'ai pas réussi à modifier ce code
<p><img src='Images/<?=$image[$i] ?>.png'




<p><img src='Images/<?php echo $image[$i]; ?>.png'

ou (que je préfère)

<p><img src='Images/<?php echo $image[$i].".png"; ?>'


Denis

- - - - - - - - - - -
<?php= .... n'est pas reconnu comme code php
<?php = .... parse erreur
et le point-virgule avant ?> n'arrange rien...

Mais le plus étonnant est que le code fonctionne en local avec EasyPHP
(apache 1.3.27 et php 4.3.3) sous XP ainsi qu'en distant.
Avatar
Thomas Mlynarczyk
Denis Beauregard schrieb:
<p><img src='Images/<?php echo $image[$i]; ?>.png'

ou (que je préfère)

<p><img src='Images/<?php echo $image[$i].".png"; ?>'



ou encore

<img src="Images/<?php echo "$image[$i].png" ?>" alt="...">

Thomas


--
Ce n'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont raison!
(Coluche)
Avatar
alainL
Le 13/12/2011 21:32, Thomas Mlynarczyk a écrit :
<img src="Images/<?php echo "$image[$i].png" ?>" alt="...">



J'avais short_open_tag = Off par défaut dans php.ini
Je l'ai mis à on et ça marche.

Mon code distant est donc tjs avec <?= . Quelle incidence cela peut-il
avoir ?

Et pourquoi ce paramètre par defaut dans wamp (et sans doute dans
EasyPHP dernières versions) Ma vieille version d'Easy installée sur mon
XP ne faisait pas tant de manières :-)))

Merci pour tout et bonne fin de soirée.

--
AlainL

http://autourdalos.fr
Avatar
Thomas Mlynarczyk
alainL schrieb:

J'avais short_open_tag = Off par défaut dans php.ini
Je l'ai mis à on et ça marche.

Mon code distant est donc tjs avec <?= . Quelle incidence cela peut-il
avoir ?



Si jamais tu changes d'hebergeur ou si quelqu'un d'autre utilise ton
code, ce problème pourrait reapparaître. Et on n'a pas toujours la
possibilité de modifier php.ini.

Et pourquoi ce paramètre par defaut dans wamp (et sans doute dans
EasyPHP dernières versions) Ma vieille version d'Easy installée sur mon
XP ne faisait pas tant de manières :-)))



La valeur par défaut de short_open_tag à changé depuis PHP 5.3.0. Avant,
c'etait On et maintenant c'est Off. À partir de PHP 5.4.0, la notation
<?= est indépendent de short_open_tag et fonctionne toujours. Mais il y
aura encore du temps avant que tout le monde utilisera PHP 5.4.0+. Donc,
il est fortement conseillé d'utiliser toujours "<?php" et "<?php echo "
au lieux de "<?" et "<?=".

Thomas


--
Ce n'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont raison!
(Coluche)