简体   繁体   English

HTML / PHP表单不起作用,提交按钮什么都不做?

[英]HTML/PHP form not working, Submit button doing nothing?

so I´ve previously done forms and I´ve never had any problems, but this time something is wrong. 所以我以前做过表格,但从来没有任何问题,但是这次出了点问题。 Hope someone can help me soon. 希望有人能尽快帮助我。 Here´s the code (HTML form first): 下面是代码(首先是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>

Here´s the PHP: 这是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;
    }
?>

There is no $_POST['submit'] name on the form. 表单上没有$_POST['submit']名称。 You need to change the if validation from 您需要更改if验证

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

to

if (!empty($_POST)) { 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;
    }
?>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM