5568 sujets

Sémantique web et HTML

Bonjour,
J'ai besoin de transférer par URL une ou plusieurs variables qui sont sous la forme '1C' ou '1D', etc ...(avec les quotes de chaque coté).
Le bouton qui me sert à envoyer reste inactif à cause des quotes.
Auriez-vous une idée pour que ça marche ?
Merci

<button value='Essa' onClick=location='http://10.226.16.89/eddy_new/essai3.php?segt1=<?php echo $new;?>'>essai3</button>

la variable $new est ègale à '1C'
Bonjour,

Il y a deux solutions : soit tu échapes tes quotes (\' au lieu de ' pour les variables) ; soit tu remplace tes simple quote (') par des doubles (") pour la valeur de l'attribut HTML.
Bah déjà il manque des quotes pour la valeur de l'attribut. Du moment où tu utilises un caractères tel que espace ou =, il te faut absolument des quotes pour délimiter la valeur de l'attribut, même en HTML4 ou HTML5.

Donc on n'écrit pas:
<element attribut=machin='truc'>

mais:
<element attribut="machin='truc'">


(Une autre solution peut être de faire du JavaScript non intrusif, en ajoutant un gestionnaire d'évènement sur l'élément.)
Merci pour ces réponses, mais je complète un peu mes explications :
fichier 1 :
$segtSelect = htmlspecialchars($segtSelect,ENT_QUOTES);    
<button value='Essa'onClick="location='http://10.226.16.89/eddy_new/essai3.php?segt3=<?php echo urlencode($segtSelect) ?>'">essai3</button>   


fichier 2
$segt3=urldecode($segt3);


Si je n'utilise pas la première ligne du fichier 1, la variable $segt3 s'affiche : \'1C\' dans le fichier 2 et quand je l'utilise , la variable s'affiche bien '1C' mais ne fonctionne pas quand je l'utilise dans le "select" en MYSQL.
Je me demande si le problème ne vient pas de la transmission par l'URL car ça se présente comme ça :
http://10.226.16.89/eddy_new/essai3.php?segt3=%26%23039%3B1C%26%23039%3B

A votre avis ?