Pb : htmlspecialchars

Résolu
Jean_2 Messages postés 245 Statut Membre -  
 Milou33 -
Bonjour,

J'ai un soucis sur un $_GET et un $_POST.

Dans les 2 cas, la valeur de la variable commence par L' <==== L apostrophe

Dans ma table MySQL, je n'ai pas L\' mais bien L'.

Sur ma page cible, je fais bien appel à :
htmlspecialchars($_POST['variable']) et htmlspecialchars($_GET['variable'])

par qqchose de type :
<?php echo htmlspecialchars($_POST['variable']) . htmlspecialchars($_GET['variable']); ?>

Pourtant, ce qui s'affiche, c'est bien L\' pour $_POST et $_GET, que je mette htmlspecialchars ou pas.
Et là je me dis bah zut, lol

Pourquoi ?

Merci de votre explication...
Configuration: Windows XP
Firefox 2.0.0.7

6 réponses

  1. Jean_2 Messages postés 245 Statut Membre 12
     
    comment puis-je retirer ce \ ?
    personne n'a une idée ?
    0
  2. Jean_2 Messages postés 245 Statut Membre 12
     
    J'ai essayé en rajoutant ENT_QUOTES avec :

    <?php echo htmlspecialchars($_POST['variable'], ENT_QUOTES) . htmlspecialchars($_GET['variable'], ENT_QUOTES);

    ça marche tjrs pas...

    vraiment personne pour m'aider ???
    0
  3. Jean_2 Messages postés 245 Statut Membre 12
     
    tjrs personne ?
    0
  4. Lcf.vs Messages postés 144 Statut Membre 36
     
    bonsoir,

    utilise plutôt ceci ou du moins en partie pour po faire trop lourd [tu as tout ton clavier ;)]:

    <?php
    $v1="A";
    $v2="B";
    $v3="C";
    $v4="D";
    $v5="E";
    $v6="F";
    $v7="G";
    $v8="H";
    $v9="I";
    $v10="J";
    $v11="K";
    $v12="L";
    $v13="M";
    $v14="N";
    $v15="O";
    $v16="P";
    $v17="Q";
    $v18="R";
    $v19="S";
    $v20="T";
    $v21="U";
    $v22="V";
    $v23="W";
    $v24="X";
    $v25="Y";
    $v26="Z";
    $v27="²";
    $v28="³";
    $v29="&";
    $v30="é";
    $v31="\"";
    $v32=chr(32);
    $v33="§";
    $v34="è";
    $v35="!";
    $v36="ç";
    $v37="à";
    $v38=chr(41);
    $v39="-";
    $v40="°";
    $v41="^";
    $v42="$";
    $v43="ù";
    $v44="µ";
    $v45=",";
    $v46=";";
    $v47=":";
    $v48="=";
    $v49="£";
    $v50="¨";
    $v51="*";
    $v52="%";
    $v53="£";
    $v54="?";
    $v55=".";
    $v56="+";
    $v57=">";
    $v58="<";
    $v59="\\";
    $v60=chr(126);
    $v61=chr(96);
    $v62=chr(180);
    $v63=chr(93);
    $v64=chr(91);
    $v65=chr(125);
    $v66=chr(123);
    $v67=chr(94);
    $v68=chr(35);
    $v69=chr(64);
    $v70=chr(124);
    $v71=chr(48);
    $v72=chr(49);
    $v73=chr(50);
    $v74=chr(51);
    $v75=chr(52);
    $v76=chr(53);
    $v77=chr(54);
    $v78=chr(55);
    $v79=chr(56);
    $v80=chr(57);
    $v81=chr(40);
    ?>

    ton texte
    <?php
    echo "<h2>$v</h2>"; // $v est à remplacer par $v numéro x symbolisant le caractère recherché.
    ?>
    suite de la ligne de ton texte
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. alain42
     
    Salut,

    pour ajouter les / devant les ' tu utilises addslashes($_POST['.......']);

    pour les enlever stripslashes(.....);

    @lain
    0
    1. Milou33
       
      Bonsoir Alain,

      Je reviens vers toi toujours pour un pb de en php/mysql.

      J'ai deux listes déroulantes liées par un javascript. La première (symptôme) contient des options
      qui peuvent inclure des quotes (ex: "troubles de l'expression"). La présence de ce quote fait
      évidemment planter la requête SQL que la deuxième liste déroulante utilise pour générer ses options.

      La fonction mysql_real_escape_string(htmlspecialchars( $ marequete, ENT_QUOTES ) ) ne me permet pas
      d'échapper à ce problème; je l'ai peut être mal utilisée.

      Merci d'avance si tu peux m'apporter des précisions.

      MLN
      0
  7. Jean_2 Messages postés 245 Statut Membre 12
     
    merci merci...

    je me suis vraiment cassé la tete...
    0