Pour mon premier message sur ce forum, je vais tenter d'être le plus clair possible. Mais avant tout, merci pour toutes ces ressources et tutoriaux, c'est un plaisir de s'initier dans de telles conditions.
Je précise que j'ai lu les topics d'en-tête mais cela ne m'a pas aidé à solutionner mon problème. Je suis donc débutant, et voici mon souci.
J'ai un formulaire html qui me permet d'enregistrer plusieurs variables sous diverses formes (bouton, textarea, menu déroulant...). Mes menus déroulants sont alimentés dynamiquement, par des tables, grâce au code suivant, et cela fonctionne sans problème.
$req = 'SELECT valeur FROM table';
$res=mysql_query($req);
while ($val=mysql_fetch_array($res))
{
echo '<option value = '.$val[val].'>'.$val[val].'</option>';
}
(je ne sais pas si c'est le code idéal, mais il fonctionne !! )Lorsque l'une des valeurs du menu déroulant est séparée par un ou plusieurs espaces, elle s'affiche parfaitement dans le menu déroulant, mais lorsqu'elle est validée, la variable retenue stoppe juste avant le premier espace.
J'ai retenu le conseil donné dans un des sujets d'en-tête et j'ai placé un echo $sql;, pour voir ce que ma requête donnait. Et par exemple, lorsque j'ai dans le menu déroulant "Petit chapeau", je n'ai que "Petit" qui est retenu dans ma requête INSERT TO.
Par contre, lorsque dans mon menu déroulant dynamique, je rajoute un champ statique <option value="test test test">test test test</option>, et que je sélectionne ce champ dans mon formulaire, tout est pris en compte, y compris les espaces dans la requête.
J'ai d'abord pensé à un souci d'encodage, car j'ai vu qu'il y avait pas mal de souci du côté des débutants dont je suis, de ce côté-là, et j'ai bien vérifié que ma base et mes en-têtes de page html ou php étaient en utf8.
Donc, je sèche... Merci pour votre aide, ou vos pistes !