Wenn ich auf die Schaltfläche "Senden" meines Formulars klicke, wird die folgende Fehlermeldung angezeigt:
"Die Zeichenkodierung des HTML-Dokuments wurde nicht deklariert. In einigen Browserkonfigurationen wird das Dokument mit verstümmeltem Text gerendert, wenn das Dokument Zeichen außerhalb des US-ASCII-Bereichs enthält. Die Zeichenkodierung der Seite muss im Dokument oder deklariert werden im Übertragungsprotokoll. "
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;
?>
Ich weiß nicht, wo das Problem in meinem Code liegt. Bitte hilf mir.
insert.html
->insert.php
. Und benennen Sie Ihre Formularbearbeitungsdatei (insert.php
)insert_action.php
oder so. (Nicht sicher , ob es hilft , aber ich würde nicht mischenhtml
undphp
Seiten , wenn PHP.)Antworten:
Fügen Sie dies als erste Zeile im Abschnitt HEAD Ihrer HTML-Vorlage hinzu
quelle
Bad value encoding for attribute http-equiv on element meta.
Ich habe das gleiche Problem mit der grundlegendsten Situation und mein Problem wurde durch Einfügen dieses Metas in den Kopf gelöst:
Die Zeichenkodierung (die eigentlich UTF-8 ist) des HTML-Dokuments wurde nicht deklariert
quelle
Nun, wenn Sie posten, gibt der Browser nur aus
$title
- alle Ihre HTML-Tags und Doctype verschwinden. Sie müssen diese in Ihreinsert.php
Datei aufnehmen:quelle
Ich hatte das gleiche Problem, als ich meine Formularanwendung in Firefox ausführte. Das Hinzufügen
<meta charset="utf-8"/>
des HTML-Codes löste mein Problem in Firefox.quelle
Sie müssen die Datei von .html in .php ändern.
und fügen Sie diese folgende Zeile hinzu
quelle
Ihre erste Seite ist eine vollständige HTML-Seite, die ein Formular enthält, dessen Inhalt in insert.php veröffentlicht wird, wenn auf die Schaltfläche zum Senden geklickt wird. Insert.php muss jedoch den Inhalt des Formulars verarbeiten und etwas damit tun, z. B. sie zu einem hinzufügen Datenbank oder geben Sie sie auf einer neuen Seite aus. Ihre aktuelle insert.php gibt nur den Inhalt des Titelfelds aus, daher versucht Ihr Browser, dies als HTML-Seite zu interpretieren, und schlägt offensichtlich fehl, weil es kein gültiges HTML ist (dh es ist nicht in einem 'HTML' enthalten. Tag usw.).
Ihre insert.php muss den erforderlichen HTML-Code ausgeben und die Formulardaten dort irgendwo einfügen.
Beispielsweise:
quelle