Lorsque je clique sur le bouton d'envoi de mon formulaire, le message d'erreur suivant apparaît:
"Le codage des caractères du document HTML n'a pas été déclaré. Le document sera rendu avec du texte déformé dans certaines configurations de navigateur si le document contient des caractères en dehors de la plage US-ASCII. Le codage des caractères de la page doit être déclaré dans le document ou dans le protocole de transfert. "
insert.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ù est le problème dans mon code. Aidez-moi, s'il vous plaît.
insert.html
->insert.php
. Et nommez votre fichier de gestion de formulaire (insert.php
)insert_action.php
ou quelque chose comme ça. (Je ne sais pas si cela aide, mais je ne voudrais pas mélangerhtml
etphp
pages lors de l'utilisation de PHP.)Réponses:
Ajoutez ceci en première ligne dans la section HEAD de votre modèle HTML
la source
Bad value encoding for attribute http-equiv on element meta.
J'ai le même problème avec la situation la plus élémentaire et mon problème a été résolu en insérant cette méta dans la tête:
le codage de caractères (qui est en fait UTF-8) du document html n'a pas été déclaré
la source
Eh bien, lorsque vous publiez, le navigateur affiche uniquement
$title
- toutes vos balises HTML et doctype disparaissent. Vous devez les inclure dans votreinsert.php
fichier:la source
J'ai eu le même problème lorsque j'ai exécuté mon application de formulaire dans Firefox. L'ajout
<meta charset="utf-8"/>
du code html a résolu mon problème dans Firefox.la source
Vous devez changer le fichier de .html en .php.
et ajoutez cette ligne suivante
la source
Votre page initiale est une page HTML complète contenant un formulaire, dont le contenu est publié dans insert.php lorsque le bouton d'envoi est cliqué, mais insert.php doit traiter le contenu du formulaire et faire quelque chose avec lui, comme l'ajouter à un base de données, ou les afficher sur une nouvelle page. Votre insert.php actuel affiche simplement le contenu du champ de titre, donc votre navigateur essaie de l'interpréter comme une page HTML, et échoue, évidemment, car ce n'est pas du HTML valide (c'est-à-dire qu'il n'est pas contenu dans un 'HTML' tag, etc.).
Votre insert.php doit générer le code HTML nécessaire et insérer les données du formulaire quelque part.
Par exemple:
la source