我的联系表单不起作用,我收到错误“无法 POST /feedback.php” 这是 html 文件:
<!doctype html>
<html lang="ru">
<head>
<meta charset="UTF-8" />
<title>Форма обратной связи</title>
<link rel="stylesheet" href="style.css" type="text/css" />
</head>
<body>
<div class="page">
<form class="form" action="feedback.php" method="POST">
<h3 class="form__title">Форма обратной связи</h3>
<div class="form__field">
<label class="form__label form__label_required" for="last_name">
Фамилия
</label>
<input class="form__input" id="last_name" name="last_name" required />
</div>
<div class="form__field">
<label class="form__label form__label_required" for="first_name">
Имя
</label>
<input
class="form__input"
id="first_name"
name="first_name"
required
/>
</div>
<div class="form__field">
<label class="form__label form__label_required" for="email">
Электронная почта
</label>
<input
class="form__input"
type="email"
id="email"
name="email"
required
/>
</div>
<div class="form__field">
<label class="form__label form__label_required" for="quality">
Оцените качество обслуживания
</label>
<div class="form__radio-buttons">
<div class="form__radio-container">
<input
class="form__radio"
type="radio"
id="quality-1"
name="quality"
value="1"
required
/>
<label for="quality-1">1</label>
</div>
<div class="form__radio-container">
<input
class="form__radio"
type="radio"
id="quality-2"
name="quality"
value="2"
required
/>
<label for="quality-2">2</label>
</div>
<div class="form__radio-container">
<input
class="form__radio"
type="radio"
id="quality-3"
name="quality"
value="3"
required
/>
<label for="quality-3">3</label>
</div>
<div class="form__radio-container">
<input
class="form__radio"
type="radio"
id="quality-4"
name="quality"
value="4"
required
/>
<label for="quality-4">4</label>
</div>
<div class="form__radio-container">
<input
class="form__radio"
type="radio"
id="quality-5"
name="quality"
value="5"
required
/>
<label for="quality-5">5</label>
</div>
</div>
</div>
<div class="form__field">
<label class="form__label" for="like">
Выберите, что вам больше всего понравилось
</label>
<div class="form__checkbox-container">
<input
class="form__checkbox"
type="checkbox"
id="like-service-speed"
name="like-service-speed"
/>
<label for="like-service-speed">Скорость обслуживания</label>
</div>
<div class="form__checkbox-container">
<input
class="form__checkbox"
type="checkbox"
id="like-interface"
name="like-interface"
/>
<label for="like-interface">Понятный и простой интерфейс</label>
</div>
<div class="form__checkbox-container">
<input
class="form__checkbox"
type="checkbox"
id="like-assortment"
name="like-assortment"
/>
<label for="like-assortment">Большой выбор товаров</label>
</div>
</div>
<div class="form__field">
<label class="form__label" for="comment"> Комментарий </label>
<textarea
class="form__textarea"
id="comment"
name="comment"
maxlength="255"
></textarea>
</div>
<div class="form__comment">
Поля, помеченные <label class="form__label_required"></label>,
являются обязательными
</div>
<button class="form__button" type="submit">Отправить</button>
</form>
</div>
</body>
</html>
还有反馈.php:
<?php
require 'database.php';
function get_optional_param($key)
{
return isset($_POST[$key]) ? $_POST[$key] : null;
}
print_r($_POST);
$first_name = $_POST["first_name"];
$last_name = $_POST["last_name"];
$email = $_POST["email"];
$quality = intval($_POST["quality"]);
$like_service_speed = get_optional_param("like-service-speed") == "on";
$like_interface = get_optional_param("like-interface") == "on";
$like_assortment = get_optional_param("like-assortment") == "on";
$comment = get_optional_param("comment");
create_feedback(
$mysqli,
$first_name,
$last_name,
$email,
$quality,
$like_service_speed,
$like_interface,
$like_assortment,
$comment
);
header("Location: feedback-success.html");
?>
database.php 查看完整图片:
<?php
function create_feedback_table($mysqli)
{
$sql = "
CREATE TABLE IF NOT EXISTS user_feedback (
id INT AUTO_INCREMENT PRIMARY KEY,
first_name VARCHAR(255) NOT NULL,
last_name VARCHAR(255) NOT NULL,
email VARCHAR(255) NOT NULL,
quality INT NOT NULL CHECK(quality BETWEEN 1 AND 5),
like_service_speed BOOLEAN NOT NULL DEFAULT 0,
like_interface BOOLEAN NOT NULL DEFAULT 0,
like_assortment BOOLEAN NOT NULL DEFAULT 0,
comment VARCHAR(255)
)
";
if (!$mysqli->query($sql)) {
die("Error creating table: " . $mysqli->error);
}
}
function create_feedback(
$mysqli,
$first_name,
$last_name,
$email,
$quality,
$like_service_speed = false,
$like_interface = false,
$like_assortment = false,
$comment = null
) {
$stmt = $mysqli->prepare(
"
INSERT INTO user_feedback (
first_name,
last_name,
email,
quality,
like_service_speed,
like_interface,
like_assortment,
comment
) VALUES (?, ?, ?, ?, ?, ?, ?, ?)
"
);
$stmt->bind_param(
"sssdddds",
$first_name,
$last_name,
$email,
$quality,
$like_service_speed,
$like_interface,
$like_assortment,
$comment
);
if (!$stmt->execute()) {
die("Error insert user: " . $mysqli->error);
}
return $stmt->insert_id;
}
$mysqli = new mysqli("localhost", "username", "password", "store");
if ($mysqli->connect_error) {
die("Connection failed: " . $mysqli->connect_error);
}
create_feedback_table($mysqli);
?>
我使用 xampp 并且文件位于同一模板 xampp/htdocs/feedback 中 Apache 和 MySql 正在运行
我已经两天无法处理这个问题了,请帮帮我
通过编辑Apache的设置解决了问题