IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Echo de code html ne marche pas


Sujet :

Langage PHP

  1. #1
    bruce-willis
    Invité(e)
    Par défaut Echo de code html ne marche pas
    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é !!!

  2. #2
    Membre du Club
    Inscrit en
    Février 2009
    Messages
    72
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 72
    Points : 54
    Points
    54
    Par défaut
    il faut qu'il soit limité par deux apostrophes
    vérifie le nombre et les positions des apostrophes

  3. #3
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Bonjour,

    Pourrais-tu nous donner un exemple d'une ligne qui ne fonctionne pas?

  4. #4
    FoxLeRenard
    Invité(e)
    Par défaut
    Citation Envoyé par bruce-willis Voir le message
    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é !!!
    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=\"\" />");

  5. #5
    bruce-willis
    Invité(e)
    Par défaut
    Ah bon, on peut mettre du HTML dans un echo using guillements

    Voici mon code:
    index.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>
    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
    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";
    }
    ?>
    Tout ce qui est en GRAS c'est ce qui s'affiche chez moi en PHP 5 mais pas en PHP 4
    Dernière modification par Thes32 ; 24/03/2009 à 12h04.

  6. #6
    Expert confirmé
    Avatar de Thes32
    Homme Profil pro
    Développeur PHP, .Net, T-SQL
    Inscrit en
    Décembre 2006
    Messages
    2 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur PHP, .Net, T-SQL

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 379
    Points : 4 853
    Points
    4 853
    Par défaut
    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.

  7. #7
    Membre expérimenté

    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 060
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 060
    Points : 1 357
    Points
    1 357
    Par défaut
    Bonjour,

    Et pourquoi pas "<?php" au lieu de "<?" ?

  8. #8
    bruce-willis
    Invité(e)
    Par défaut
    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

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 320
    Points : 311
    Points
    311
    Par défaut
    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 <? ?>

  10. #10
    Expert confirmé
    Avatar de Thes32
    Homme Profil pro
    Développeur PHP, .Net, T-SQL
    Inscrit en
    Décembre 2006
    Messages
    2 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur PHP, .Net, T-SQL

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 379
    Points : 4 853
    Points
    4 853
    Par défaut
    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;
    }

  11. #11
    bruce-willis
    Invité(e)
    Par défaut
    Et oui jeca a raison! J'ai remplacé par <?php et c'est OK

    Donc PHP5 ne supporte plus <? ?> ?

  12. #12
    Modérateur
    Avatar de blueice
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2003
    Messages
    3 487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 487
    Points : 5 134
    Points
    5 134
    Par défaut
    Aucun rapport c'est juste que la directive short_open_tags est à Off...

  13. #13
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 320
    Points : 311
    Points
    311
    Par défaut
    Citation Envoyé par bruce-willis Voir le message
    Et oui jeca a raison! J'ai remplacé par <?php et c'est OK

    Donc PHP5 ne supporte plus <? ?> ?
    C'est un réglage du php.ini, et la norme se dirige vers l'abandon du <? ?>, en PHP6 ça devrait être à off d'office.

  14. #14
    Expert confirmé
    Avatar de Thes32
    Homme Profil pro
    Développeur PHP, .Net, T-SQL
    Inscrit en
    Décembre 2006
    Messages
    2 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur PHP, .Net, T-SQL

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 379
    Points : 4 853
    Points
    4 853
    Par défaut
    ...en PHP6 ça devrait être à off d'office.
    Cette directive est déjà à défaut à off depuis PHP 5.

  15. #15
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 320
    Points : 311
    Points
    311
    Par défaut
    Citation Envoyé par thes32 Voir le message
    Cette directive est déjà à défaut à off depuis PHP 5.
    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...

  16. #16
    bruce-willis
    Invité(e)
    Par défaut
    Je retiens donc: le mieux à partir de maintenant c'est d'utiliser <?php ?>
    Merci à tous

Discussions similaires

  1. code javascript ne marche pas balise script
    Par unmaxdemily dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 20/03/2009, 01h46
  2. l'autocomplétion (Code Assist) ne marche pas ?
    Par dave75 dans le forum Eclipse PHP
    Réponses: 5
    Dernier message: 12/03/2009, 19h35
  3. Code javascript ne marche pas avec Mozilla Firefox
    Par Contact2012 dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 10/10/2008, 12h06
  4. Réponses: 3
    Dernier message: 17/05/2007, 20h30
  5. code qui ne marche pas
    Par Jihed Amine Maaref dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 26/08/2005, 14h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo