La technique que je t'ai donné avec iconv n'est pas un hasard. Elle t'évite de retaper tout ton contenu, pour une simple et bonne raison : si tu fais un copier/coller de ta page originale avec le mauvais encodage vers la nouvelle page avec le bon encodage, ça ne marchera pas (sinon ce serait juste terrible) …
Tu es donc obligé de changer l'encodage du fichier et le programme que je t'ai donné fait ça. Il te prend ton ancien fichier, en crée un autre avec le bon encodage et verse le premier dans le second en modifiant l'encodage pour correspondre. C'est ce qu'il faut faire et tu n'as pas le choix. C'est ça ou tout réécrire à la main.
Je veux bien qu'il y ait une urgence et que tu n'es pas le temps de t'enfiler toute la syntaxe de PHP, mais elle reste très simple. Si tu ne sais pas à quoi sert la boucle que je t'ai donné, tu peux néanmoins observer le résultat. Je t'ai donné deux versions de la boucle foreach. La première affiche le contenu des variables via var_dump() (fonction de débuggage la plus usitée), et la seconde te concatène le contenu de ton formulaire à ton message.
Le code que tu as indiqué comme étant « après correction » devrait fonctionner d'après moi. Ou sinon, quelle est l'erreur ?
Pour le numéro de version de PHP, il suffit de mettre le code que je t'ai proposé dans un fichier et de l'exécuter (dans ton navigateur par exemple). Si la page ne contient que ça, ça ira très bien … Mais c'est pas compliqué quand même. Si tu utilises PHP en local à travers un programme comme EasyPHP ou WAMP, tu trouves facilement l'information (si tu as réussi à installer PHP manuellement, alors tu es très capable de connaître sa version …). Et si tu utilises PHP sur un hébergement, ton hébergeur te le précise. Donc même sans écrire de code, tu peux théoriquement le savoir.
Enfin, j'ai l'impression que tu ne connais pas plus l'HTML que le PHP. Dans le code que tu me présentes, tu as deux fois l'information
content-type, ce n'est pas étrange ? Il suffit d'écrire :
Code : Tout sélectionner
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
<head>
<title>Page principale — Mon Site</title>
<meta http-equiv="content-type" content="application/xhtml+xml; charset=utf-8" />
<meta http-equiv="content-script-type" content="text/javascript; charset=utf-8" />
<meta http-equiv="content-style-type" content="text/css; charset=utf-8" />
… J'ai ajouté la précision de la langue (à travers xml:lang). Si tu ne comprends pas ce que ça vient faire là, tu peux l'enlever. Ce n'est pas capital même si c'est préférable de l'avoir … Mais vu où on en est …
Aussi tu noteras que spécifier le
charset pour les fichiers Javascript et CSS n'est pas obligatoire. C'est juste histoire d'uniformiser encore plus le travail et si tu fais quelque chose de particulier avec Javascript et CSS. C'est une sécurité, et ça t'assures de ne pas avoir de mauvaise surprise.
De plus, ne m'envoie pas de message privé. Si ton code doit être publié, fait le ici pour que tout le monde puisse t'aider. Je ne suis pas le seul à t'aider (AB et albat sont de la partie), il mérite aussi d'avoir les codes (à moins que tu n'aies envoyé un message privé à ces deux p'tits gars ?).
Bonne chance.