无法发布/feedback.php

问题描述 投票:0回答:1

我的联系表单不起作用,我收到错误“无法 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 正在运行

我已经两天无法处理这个问题了,请帮帮我

php html xampp
1个回答
0
投票

通过编辑Apache的设置解决了问题

© www.soinside.com 2019 - 2024. All rights reserved.