Problème php interprétation html sur serveur

Résolu
Noviceman Messages postés 229 Statut Membre -  
Noviceman Messages postés 229 Statut Membre -
Bonjour,
le titre en dit long.
J'ai fait un petit prog' .php pour écrire dans un fichier texte qui est ensuite ouvert sur ma page html
Le prob c'est que si j'écris : <span style="background-color: rgb(255, 255, 255);">
quand je valide ça donne :
<span style=\"background-color: rgb(255, 255, 255);\">
pûis
<span style=\\\\\\\"background-color: rgb(255, 255, 255);\\\\\\\">
Je suis sûr que mon prog .php fonctionne, pour l'avoir testé chez d'autre hébergeurs, sans prob.
Y a t-il un moyen de détourner ce problème svp ?

4 réponses

  1. avion-f16 Messages postés 19182 Date d'inscription   Statut Contributeur Dernière intervention   4 511
     
    Salut.
    C'est parce que l'option magic_quote_gpc_ est activée.
    Elle applique la fonction addslashes sur les variables GET, POST et COOKIES (les entrées de l'utilisateur).

    https://www.php.net/manual/fr/security.magicquotes.why.php
    https://www.php.net/manual/fr/security.magicquotes.whynot.php
    https://www.php.net/manual/fr/security.magicquotes.disabling.php
    1
  2. Noviceman Messages postés 229 Statut Membre 7
     
    Je suis actuellement chez PhpNux
    0
  3. Noviceman Messages postés 229 Statut Membre 7
     
    petit up
    0
  4. Noviceman Messages postés 229 Statut Membre 7
     
    100000000 fois merci @avion-f16 !!!
    Tu m'as mis sur la voie et ça fonctionne...
    Après m'être acharné sur des ".htacess" qui me donnaient l'erreur 500 (internal erreur...contact webmaster...") J'ai lu et re-lu des articles et j'ai ajouté à mon script :

    # On n'exécute la boucle que si nécessaire
    if(get_magic_quotes_gpc() == 1){
    
    # Définition de la fonction récursive.
    function remove_magic_quotes(&$array)
    {
     foreach($array as $key => $val){
    
      # Si c'est un array, recurssion de la fonction, sinon suppression des slashes
      if(is_array($val)){
       remove_magic_quotes($array[$key]);
      } else if(is_string($val)){
       $array[$key] = stripslashes($val);
      }
     }
    }
    
    # Appel de la fonction pour chaque variables.
    # Notes, vous pouvez enlevez celle d'on vous ne vous servez pas.
    # Personnellement, j'enlève $_REQUEST et $_FILES
    
    remove_magic_quotes($_POST);
    remove_magic_quotes($_GET);
    remove_magic_quotes($_REQUEST);
    remove_magic_quotes($_SERVER);
    remove_magic_quotes($_FILES);
    remove_magic_quotes($_COOKIE);
    }


    Et ça a l'air de fonctionner au TOP !
    J'espère ne pas parler trop vite, je vérifie bien et je reviens pour le "Résolu" officiel :)
    +++
    0