Page 1 sur 1

Comment insérer mon Code HTML dans ma variable PHP tout en évitant le problème des QUOTES de l'attribut Onclick ?

Posté : 18 mars 2021, 21:59
par chegmarco
Bonjour.

J'ai un petit souci. En fait, je souhaiterais inclure le Code HTML contenant une suite de formulaire dans la balise p de la variable PHP. Mais je suis confronté à un problème de gestion de simple quote et de double quotes au niveau de la fonction addChar de chaque input du formulaire HTML que je veux inclure dans la variable PHP.

Comment donc insérer le formulaire HTML entre la balise p de la variable $resultsHtml sachant que la plupart des balises input du formulaire HTML dispose d'une simple Quote (').
J'aurais pu changer toutes les doubles quotes (") en de simple quote (') à cause de la double quote principale de la balise p de la variable $resultsHtml qui devrait les contenir. Mais quand on regarde surtout les attributs onclick de la plupart des balises input, on remarque qu'ils contiennent une fonction addChar qui a pour deuxième paramètre, des valeurs en simple quote (').
Et c'est là tout mon problème.

CODE PHP DANS LEQUEL JE VEUX INCLURE LE HTML ci-dessous:

Code : Tout sélectionner

$resultsHtml .= "<p> //////////// CALCULATRICE ICI ////////////////// </p>";

LE CODE HTML A INCLURE DANS LA BALISE p ci-dessus:

Code : Tout sélectionner

<center><form name=""> <table class="calculator" cellspacing="0" cellpadding="1"> <tr> <td colspan="5"><input id="display" name="display" value="0" size="28" maxlength="25"></td> </tr> <tr> <td><input type="button" class="btnTop" name="btnTop" value="C" onclick="this.form.display.value= 0 "></td> <td><input type="button" class="btnTop" name="btnTop" value="<--" onclick="deleteChar(this.form.display)"></td> <td><input type="button" class="btnTop" name="btnTop" value="=" onclick="if(checkNum(this.form.display.value)) { compute(this.form) }"></td> <td><input type="button" class="btnOpps" name="btnOpps" value="&#960;" onclick="addChar(this.form.display,'3.14159265359')"></td> <td><input type="button" class="btnMath" name="btnMath" value="%" onclick=" percent(this.form.display)"></td> </tr> <tr> <td><input type="button" class="btnNum" name="btnNum" value="7" onclick="addChar(this.form.display, '7')"></td> <td><input type="button" class="btnNum" name="btnNum" value="8" onclick="addChar(this.form.display, '8')"></td> <td><input type="button" class="btnNum" name="btnNum" value="9" onclick="addChar(this.form.display, '9')"></td> <td><input type="button" class="btnOpps" name="btnOpps" value="x&#94;" onclick="if(checkNum(this.form.display.value)) { exp(this.form) }"></td> <td><input type="button" class="btnMath" name="btnMath" value="/" onclick="addChar(this.form.display, '/')"></td> <tr> <td><input type="button" class="btnNum" name="btnNum" value="4" onclick="addChar(this.form.display, '4')"></td> <td><input type="button" class="btnNum" name="btnNum" value="5" onclick="addChar(this.form.display, '5')"></td> <td><input type="button" class="btnNum" name="btnNum" value="6" onclick="addChar(this.form.display, '6')"></td> <td><input type="button" class="btnOpps" name="btnOpps" value="ln" onclick="if(checkNum(this.form.display.value)) { ln(this.form) }"></td> <td><input type="button" class="btnMath" name="btnMath" value="*" onclick="addChar(this.form.display, '*')"></td> </tr> <tr> <td><input type="button" class="btnNum" name="btnNum" value="1" onclick="addChar(this.form.display, '1')"></td> <td><input type="button" class="btnNum" name="btnNum" value="2" onclick="addChar(this.form.display, '2')"></td> <td><input type="button" class="btnNum" name="btnNum" value="3" onclick="addChar(this.form.display, '3')"></td> <td><input type="button" class="btnOpps" name="btnOpps" value="&radic;" onclick="if(checkNum(this.form.display.value)) { sqrt(this.form) }"></td> <td><input type="button" class="btnMath" name="btnMath" value="-" onclick="addChar(this.form.display, '-')"></td> </tr> <tr> <td><input type="button" class="btnMath" name="btnMath" value="&#177" onclick="changeSign(this.form.display)"></td> <td><input type="button" class="btnNum" name="btnNum" value="0" onclick="addChar(this.form.display, '0')"></td> <td><input type="button" class="btnMath" name="btnMath" value="&#46;" onclick="addChar(this.form.display, '&#46;')"></td> <td><input type="button" class="btnOpps" name="btnOpps" value="x&#50;" onclick="if(checkNum(this.form.display.value)) { square(this.form) }"></td> <td><input type="button" class="btnMath" name="btnMath" value="+" onclick="addChar(this.form.display, '+')"></td> </tr> <tr> <td><input type="button" class="btnMath" name="btnMath" value="(" onclick="addChar(this.form.display, '([b]'[/b])"></td> <td><input type="button" class="btnMath" name="btnMath" value=")" onclick="addChar(this.form.display,')')"></td> <td><input type="button" class="btnMath" name="btnMath" value="cos" onclick="if(checkNum(this.form.display.value)) { cos(this.form) }"></td> <td><input type="button" class="btnMath" name="btnMath" value="sin" onclick="if(checkNum(this.form.display.value)) { sin(this.form) }"></td> <td><input type="button" class="btnMath" name="btnMath" value="tan" onclick="if(checkNum(this.form.display.value)) { tan(this.form) }"></td> </tr> </table> </form></center>
Comment donc modifier les simple quôtes (') de la valeur 7 dans onclick="addChar(this.form.display, '7')" par exemple ???

Re: Comment insérer mon Code HTML dans ma variable PHP tout en évitant le problème des QUOTES de l'attribut Onclick ?

Posté : 19 mars 2021, 00:33
par two3d
tu dois les échapper avec un backslash, par exemple:
echo 'C\'est trop bien';
J'ai écrit un post à ce sujet: Guillemets doubles ou simple pour un echo PHP ?

Re: Comment insérer mon Code HTML dans ma variable PHP tout en évitant le problème des QUOTES de l'attribut Onclick ?

Posté : 19 mars 2021, 15:53
par chegmarco
Merci beaucoup pour la réponse