PHP 中无法提交表单

Form submission is not working in PHP

当我点击“提交”按钮时,没有任何反应,既没有重定向,也没有将 html 表单中的数据发布到数据库。

这是我的日期、时间和地点代码:

<?php
session_start();
$date1="";
$time1="";
$location="";
$db=mysqli_connect("localhost","root","","registration");
if(isset($_POST['submit'])) {
    $date1 = mysqli_real_escape_string($db, $_POST['date1']);
    $time1 = mysqli_real_escape_string($db, $_POST['time1']);
    $location = mysqli_real_escape_string($db, $_POST['location']);


    if (!empty($date)) {
        $query = "INSERT INTO cars(date1,time1,location) VALUES('$date1', '$time1', '$location')";
        mysqli_query($db, $query);
        header('location:tariff.php');
    }
}


?>

在这个 HTML 示例中,按钮名称是提交,当它被点击时 PHP 被设置为 True 并且应该执行代码,但是有一些错误。

<html>
<head>
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">

    <!-- jQuery library -->
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

    <!-- Latest compiled JavaScript -->
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>


    <style>
        .form-inline{
            text-align: center;
            position: absolute;
            top: 100px;
            left: 500px;

        }
        .btn{
            position: absolute;
            top: auto;
            left: 500px;
        }
    </style>
</head>
<body>
<div class="container"
     <div class="panel panel-default"
<form class="form-inline" method="post" action="bookcar.php">
    <div class="panel-body">
    <p><label> Pick a date:</label><input class="form-control" type="date" name="date1" placeholder="Date"></p>
    </div>
    <div class="panel-body">
    <p><label> Pick a Time:</label><input class="form-control" type="time" name="time1" placeholder="Time"></p>
    </div>
    <div class="panel-body">
        <p><label> Pick a Location:</label><input class="form-control" type="text" name="location" placeholder="Location"></p>
    </div>
    <input type="submit" name="submit" value="submit" class="btn btn-lg btn-primary">

</form>
</div>
</div>
</body>
</html>
 session_start();

 $db=mysqli_connect("localhost","root","","registration");

 if(isset($_POST['date1'])){

     $date1 = mysqli_real_escape_string($db, $_POST['date1']);

 }

 if(isset($_POST['time1'])){

     $time1 = mysqli_real_escape_string($db, $_POST['time1']);

 }

 if(isset($_POST['location'])){

     $location = mysqli_real_escape_string($db, $_POST['location']);

 }

 if(isset($_POST['submit'])){

     if (!empty($date1)){

         $query = "INSERT INTO cars(date1,time1,location) VALUES('$date1', '$time1', '$location')";
         mysqli_query($db, $query);
         header('location:tariff.php');
         exit(); // Quit current page and go to tariff.php

     }
 } 

您的代码中存在小错误。用以下代码替换您的代码。

if (!empty($date1)) {
        $query = "INSERT INTO cars(date1,time1,location) VALUES('$date1', '$time1', '$location')";
        mysqli_query($db, $query);
        header('location:tariff.php');
    }

您没有在代码中定义 $date 变量,并且在 if 条件下您正在使用 $date 变量来检查它是否为空。

首先确保 bookcar.php 与 html 文件位于同一位置
注意:它们应该在同一个文件夹中。
将您的 bookcar.php 文件更改为此

<?php
session_start();
$date1="";
$time1="";
$location="";
$db=mysqli_connect("localhost","root","","registration");
if(isset($_POST['submit'])) {
    $date1 = mysqli_real_escape_string($db, $_POST['date1']);
    $time1 = mysqli_real_escape_string($db, $_POST['time1']);
    $location = mysqli_real_escape_string($db, $_POST['location']);


    if (!empty($date1)) {
        $query = "INSERT INTO cars(date1,time1,location) VALUES('$date1', '$time1', '$location')";
        mysqli_query($db, $query);
        header('location:tariff.php');
    }
}
?>