я не могу подключить мою php к моей html форме. действие формы не работает - PullRequest
0 голосов
/ 24 февраля 2020

Я создал простую форму сообщения, и всякий раз, когда я тестирую ее, действие формы, похоже, не работает. это просто приводит меня к ошибке страницы

<div class="form">
    <form action="connect.php" method="post">
        <input id="name" name="name" type="text" class="form-control" placeholder="Your Name" required>
        <br>
        <textarea name="message" id="message" class="form-control message" placeholder="Message" rows="4" required></textarea> <br>
        <input type="submit" class="form-control submit" value="SEND MESSAGE" name="submit">
    </form>
</div>

здесь php

<?php

    $name = $_POST['name'];
    $message = $_POST['message'];

    $conn = new mysqli ('localhost','root','','messg');
    if($conn->connect_error){
        die('Connection Failed : ' .$conn->connect_error);

    }else{

        $stmt = $conn->prepare("insert into mesages(name, message) values(?, ?)");
        $stmt->bind_param("ss",$name, $message);

        $stmt->execute();

        echo "Message Sent!";

        $stmt->close();
        $conn->close();
    }

?>  

1 Ответ

2 голосов
/ 24 февраля 2020

Протокол передачи гипертекста (HTTP) 405 Метод не разрешен * Код состояния ответа указывает, что метод запроса известен серверу, но не поддерживается целевым ресурсом.

Сервер ДОЛЖЕН генерировать поле заголовка Allow в ответе 405, содержащем список поддерживаемых в настоящее время методов целевого ресурса.

Как исправить метод 405, не разрешенный

Это может показаться слишком простым, но наиболее распространенной причиной ошибки 405 Method Not Allowed является неправильный URL-адрес. Большинство веб-серверов надежно защищены и предназначены для запрета доступа к неправильным URL-адресам, чтобы пользователи не могли посещать неправильные страницы (или пытаться получить доступ к несуществующим страницам).

Прежде чем идти дальше, дважды убедитесь, что вы ввели URL файла, к которому вы будете sh обращаться правильно. Легче, чем вы думаете, совершать ошибки - например, забывать букву или неправильно писать слова. Вы также можете обнаружить, что простое обновление страницы может привести к ее корректной загрузке.

connect.php звучит как страница подключения к базе данных, которая недоступна или установлена ​​неправильно, проверьте, если вы перенаправляете форму для исправления страницы.

Mysqli Connection должен выглядеть следующим образом:

$host = '127.0.0.1';
$db   = 'test';
$user = 'root';
$pass = '';
$charset = 'utf8mb4';

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
try {
    $mysqli = new mysqli($host, $user, $pass, $db);
    $mysqli->set_charset($charset);
} catch (\mysqli_sql_exception $e) {
     throw new \mysqli_sql_exception($e->getMessage(), $e->getCode());
}

И запрашивать так:

$stmt = $mysqli->prepare("insert into mesages(name, message) values(?, ?)");
$stmt->bind_param("ss",$name, $message);
if($stmt->execute()){
echo "Message Sent!";
}
$stmt->close();
$conn->close();

Подробнее см. Здесь

В заголовок Allow перечислены набор методов, поддерживаемых ресурсом .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...