HTML / PHP форма не работает, кнопка «Отправить» ничего не делает? - PullRequest
0 голосов
/ 15 марта 2019

так что я раньше делал формы и у меня никогда не было проблем, но на этот раз что-то не так.Надеюсь, кто-нибудь может помочь мне в ближайшее время.Вот код (сначала HTML-форма):

<form action="includes/mensaje.inc.php" method="post" class="contactForm">
      <div class="col-md-6 col-sm-6 col-xs-12 left">
        <div class="form-group">
          <input type="text" class="form-control form" name="name" placeholder="Your Name" data-msg="Introduzca al meno 4 caracteres" />
          <input type="email" class="form-control" name="email" placeholder="Your Email" data-msg="Por favor introduzca un Email válido" />
          <input type="text" class="form-control" name="subject" placeholder="Subject" data-msg="Mínimo 4 caracteres de mensaje" />
        </div>
      </div>

      <div class="col-md-6 col-sm-6 col-xs-12 right">
        <div class="form-group">
          <textarea class="form-control" name="message" rows="5" data-rule="required" data-msg="Por favor introduzca información aquí" placeholder="Message"></textarea>
          <div class="validation"></div>
        </div>
      </div>

      <div class="col-xs-12">
        <button name="submit" type="submit" class="btn btn-block btn-submit">
        ENVIAR <i class="fa fa-arrow-right"></i></button>
      </div>

</form>

Вот PHP:

<?php
session_start();

if (isset($_POST['submit'])) {
    include_once 'dbh.inc.php';

    $name = mysqli_real_escape_string($conn, $_POST['name']);
    $email = mysqli_real_escape_string($conn, $_POST['email']);
    $subject = mysqli_real_escape_string($conn, $_POST['subject']);
    $message = mysqli_real_escape_string($conn, $_POST['message']);

    $sql = "INSERT INTO mensajes 
        (name, email, subject, message) 
        VALUES ('$name', '$email', '$subject', '$message')";

    if ($conn->query($sql) === TRUE) {
        echo "New record created successfully";
    } else {
        echo "Error: " . $sql . "<br>" . $conn->error;
    }
?>

1 Ответ

0 голосов
/ 15 марта 2019

Нет имени $_POST['submit'] в форме. Вам нужно изменить проверку if с

if (isset ($ _ POST ['submit'])) {

до

if (! Empty ($ _ POST)) {


<?php
session_start();

if (isset($_POST['submit'])) {
    include_once 'dbh.inc.php';

    $name = mysqli_real_escape_string($conn, $_POST['name']);
    $email = mysqli_real_escape_string($conn, $_POST['email']);
    $subject = mysqli_real_escape_string($conn, $_POST['subject']);
    $message = mysqli_real_escape_string($conn, $_POST['message']);

    $sql = "INSERT INTO mensajes 
        (name, email, subject, message) 
        VALUES ('$name', '$email', '$subject', '$message')";

    if ($conn->query($sql) === TRUE) {
        echo "New record created successfully";
    } else {
        echo "Error: " . $sql . "<br>" . $conn->error;
    }
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...