Bonjour,
J'avais écris un site en PHP 4 qui utilisait beaucoup de echo avec des apostrophes pour y entrer directement du code HTML!
Sur un serveur PHP 5, tout le code après le 1er apostrophe est affiché !!!
Bonjour,
J'avais écris un site en PHP 4 qui utilisait beaucoup de echo avec des apostrophes pour y entrer directement du code HTML!
Sur un serveur PHP 5, tout le code après le 1er apostrophe est affiché !!!
il faut qu'il soit limité par deux apostrophes
vérifie le nombre et les positions des apostrophes
Bonjour,
Pourrais-tu nous donner un exemple d'une ligne qui ne fonctionne pas?
Oui on aimerait un exemple, mais en attendant voici la régle classique
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 echo ("<b> bonjour l\' ami ".$toi." comment ça va ? </b>"); echo ("<img src=\"".$image12."\" alt=\"\" />");
Ah bon, on peut mettre du HTML dans un echo using guillements
Voici mon code:
index.php
page2.php
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>Page de soumission du formulaire</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <script language="JavaScript"> function testCookie() { if(navigator.cookieEnabled) document.getElementById("bruce").innerHTML="<input type=hidden name=avecCookie value=1>"; else document.getElementById("bruce").innerHTML="<input type=hidden name=sansCookie value=1>"; } </script> </head> <body> <form id="bruce" method="post" action="page2.php"> <script language="JavaScript">testCookie();</script> <noscript> <input type="hidden" name="sansJS" value="1"> </noscript> <input type="submit" value="Envoi"> </form> </body> </html>
Tout ce qui est en GRAS c'est ce qui s'affiche chez moi en PHP 5 mais pas en PHP 4
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 <? if (array_key_exists("sansJS",$_POST)) { $javaScript = FALSE; } else { $javaScript = TRUE; if (array_key_exists("avecCookie",$_POST)) { echo 'COOKIE ENABLED<br>'; } else { if (array_key_exists("sansCookie",$_POST)) echo 'COOKIE DISABLED<br>'; } } if ($javaScript) { echo "JAVASCRIPT ACTIVATED"; } else { echo "NO JAVASCRIPT"; } ?>
Dernière modification par Thes32 ; 24/03/2009 à 12h04.
Salut,
le problème ne viendrait surement pas de echo, cette fonction a le même comportement depuis php 4.
c'est peut être la fonction array_key_exists qui n'existe que depuis la version PHP 4.0.7.
Bonjour,
Et pourquoi pas "<?php" au lieu de "<?" ?
Je ne crois pas que ce soit un problème de <?php et <?
Je pense que le problème de array_key_exists est peut-être vrai, en fait le code je l'ai trouvé sur la FAQ donc je ne connais pas un code de remplacement
Chez moi ton code fonctionne si la directive short_open_tag est activée, mais si je la passe à off, tout comme toi le code s'affiche...
Donc suis ce que t'as dit jeca, passe en <?php ?> au lieu de <? ?>
Salut,
si le problème est dû a la fonction array_key_exists tu peux toujours utiliser l'une des implémentations proposées sur php net http://fr.php.net/manual/fr/function...ists.php#89191
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 function array_key_exists_nc($key, $search) { if (array_key_exists($key, $search)) { return $key; } if (!(is_string($key) && is_array($search) && count($search))) { return false; } $key = strtolower($key); foreach ($search as $k => $v) { if (strtolower($k) == $key) { return $k; } } return false; }
Et oui jeca a raison! J'ai remplacé par <?php et c'est OK
Donc PHP5 ne supporte plus <? ?> ?
Aucun rapport c'est juste que la directive short_open_tags est à Off...
Cette directive est déjà à défaut à off depuis PHP 5....en PHP6 ça devrait être à off d'office.
Ben bizarrement sur mon installation ( 5.2.8) la directive était à on par défaut.
Je suis sûr de ne pas y avoir touché avant de poster dans ce thread car je n'ai jamais utilisé les shorts tags de ma vie.
Donc j'ai supposé que ma mémoire me jouait des tours et que c'était annoncé pour PHP6...
Je retiens donc: le mieux à partir de maintenant c'est d'utiliser <?php ?>
Merci à tous
Partager