您好,感谢您抽出时间来阅读我的问题.
我正在努力使我的网站的工作通讯形式,应该存储一个人的名字和邮箱地址在数据库中.我不希望存储太多数据,所以我 Select 了SQLite
个--有点盲目.
我的文件夹包含一个HTML文件、一个PHP文件和一个SQLite数据库:
这是我的index.html%文件:
<h1>Newsletter Signup</h1>
<form method="POST" action="./submit.php">
<label for="name">Name:</label>
<input type="text" name="name" id="name" required>
<label for="email">Email:</label>
<input type="email" name="email" id="email" required>
<input type="submit" value="Subscribe">
</form>
这是我的submit.php%文件:
<?php
$db = new SQLite3('mydb.db');
if (!$db) {
die("Error connecting to database.");
}
$name = $_POST['name'] ?? '';
$email = $_POST['email'] ?? '';
if (!$name || !$email) {
die("Name and email are required.");
}
$stmt = $db->prepare('INSERT INTO subscribers (name, email) VALUES (:name, :email)');
if (!$stmt) {
die("Error preparing statement.");
}
$stmt->bindValue(':name', $name);
$stmt->bindValue(':email', $email);
$result = $stmt->execute();
if (!$result) {
die("Error executing statement.");
}
$db->close();
exit();
?>
mydb.db SQLite数据库是用以下几行代码创建的:
CREATE TABLE subscribers (
id INTEGER PRIMARY KEY,
name TEXT,
email TEXT
);
只要点击订阅按钮,控制台中的DevTool就会显示以下消息:
(In red) Failed to load resource: the server responded with a status of 405 () chrome-error://chromewebdata/:1
(In yellow) VM491:161 crbug/1173575, non-JS module files deprecated.
(anonymous) @ VM491:161
和网络>;标题选项卡:
Status: (failed)net::ERR_HTTP_RESPONSE_CODE_FAILURE
Request Method: POST
Status Code: 405 Method Not Allowed
Referrer Policy: strict-origin-when-cross-origin
Allow: GET, HEAD, OPTIONS
我还没能找到解决这个问题的方法.当然,我是一个新手,非常感谢您的帮助,所以请一定要详细说明!再次感谢您.