225 votes

Le codage des caractères du document HTML n'a pas été déclaré

Lorsque je clique sur le bouton de soumission de mon formulaire, le message d'erreur suivant apparaît :

Le codage des caractères du document HTML n'a pas été déclaré. Dans certaines configurations de navigateurs, le document s'affichera avec un texte tronqué s'il contient des caractères ne faisant pas partie de la gamme US-ASCII. Le codage des caractères de la page doit être déclaré dans le document ou dans le protocole de transfert.

insérer.html :

<!DOCTYPE html PUBLIC"-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8" />
    <title>insert page</title></head>
    <body>
    <h1> Insert Page </h1>
        <form action="insert.php" method="post"  enctype="application/x-www-form-urlencoded" >
         <p>Title:<input type="text" name="title" size="40" /></p>
         <p>Price:<input type= "text" name="price" size="40" /></p>
         <p><input type="submit" value="Insert" />
         <input type="reset" value="Reset" /></p>
        </form>    
    </body>
</html>

insert.php :

<?php
    $title = $_POST["title"];
    $price = $_POST["price"];

    echo $title;
?>

Je ne sais pas où se situe le problème dans mon code. Merci de m'aider.

4 votes

0 votes

Essayez de nommer votre page .html en .php : insert.html -> insert.php . Et nommez votre fichier de gestion des formulaires ( insert.php ) à insert_action.php ou quelque chose comme ça. (Je ne sais pas si cela peut aider, mais je ne mélangerais pas les deux ). html y php lorsque l'on utilise PHP).

0 votes

Oh là là, c'est une vieille question. Je n'avais pas remarqué les dates à cause de la nouvelle réponse...

2voto

gkrogers Points 4830

Votre page initiale est une page HTML complète contenant un formulaire, dont le contenu est envoyé à insert.php lorsque le bouton submit est cliqué, mais insert.php doit traiter le contenu du formulaire et en faire quelque chose, comme l'ajouter à une base de données, ou l'afficher sur une nouvelle page. Votre insert.php actuel se contente d'afficher le contenu du champ title, de sorte que votre navigateur tente d'interpréter cela comme une page HTML, et échoue, évidemment, parce que ce n'est pas du HTML valide (c'est-à-dire qu'il n'est pas contenu dans une balise 'HTML', etc.)

Votre insert.php doit produire le code HTML nécessaire et insérer les données du formulaire quelque part.

Par exemple :

<?php 

   $title = $_POST["title"];
   $price = $_POST["price"];

  echo '<html xmlns="http://www.w3.org/1999/xhtml">';
  echo '<head>';
  echo '<meta http-equiv="content-type" content="text/html; charset=utf-8" />';
  echo '<title>';
  echo $title;
  echo '</title>';
  echo '</head>';
  echo '<body>';
  echo 'Hello, world.';
  echo '</body>';

 ?>

0 votes

C'est curieux. Pouvez-vous afficher votre code en complément de la question initiale ?

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X