Gérer les guillemets pour html + autres langages

Résolu/Fermé
arscy - 19 août 2022 à 12:13
 Pitet - 19 août 2022 à 17:46

Bonjour,

Je suis face à un souci de gestion des guillemets sur la création d'un bouton en html, du fait que je le combine à du php : j'ai 3 imbrications de guillemets, ce qui pose problème actuellement pour interpréter mon code. En effet, je peux utiliser un guillemet, une apostrophe, mais je ne connais pas d'autre générique...

Ceci est dû à l'utilisation du paramètre "onclick" qui a recours d'emblée à  2 imbrications + l'affichage du php qui m'en rajoute une.

À la base je souhaite procéder de la sorte pour faciliter la navigation entre mes diverses pages en passant par la méthode $_GET de php (plus optimale qu'une méthode 'post' de html pour les retours sur page à mon sens).

Sauriez-vous me corriger ou bien me suggérer une autre façon de procéder?
Ci-dessous la séquence erronée à cause des guillemets.

<?php
  //code en amont avec gestion des BDD

   echo ("
      <td>
         <button onclick='location.href='monfichier.php?idg=" . $var['ID_var'] . "'' 
         type='button'>Editer</button></p>
      </td>
   ");

?>

Merci d'avance


arscy

2 réponses

Bonjour,

Il faut utiliser un antislash pour échapper les guillemets : https://www.php.net/language.types.string

Tu as une balise fermeture </p> mais il manque la balise d'ouverture <p>, ton code html n'est pas correcte.

Un bouton avec un attribut onclick="location.href=url" n'as pas d'intérêt, utiliser plutôt un lien à la place (tu peux toujours utiliser css pour donner à ton lien le style du bouton si besoin).

echo '<button onclick="location.href=\'monfichier.php?idg=' . $var['ID_var'] . '\'" type="button">Editer</button>';

echo '<a href="monfichier.php?idg=' . $var['ID_var'] . '">Editer</a>';
0

Les antislashs, mais c'est bien sûr ! *PAF _ main à plat sur le front*
Je les sous-utilise visiblement...
Du coup problématique réglée.

Effectivement, un </p> traînait suite à un copier/coller malheureux, c'est de l'histoire ancienne.

En revanche en quoi un lien pimpé au CSS serait plus judicieux qu'un bouton avec un attribut onclick='location.href=...' ?

0

Parce que la navigation vers une autre page est le rôle d'un lien hypertexte, pas d'un bouton (meilleure sémantique et accessibilité).

1