mysql如何清除表单数据后已插入数据库的

标签: html5 MySQL PHP
发布时间: 2016/10/23 7:44:15
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

如何可以清除表单数据后的数据被提交并被插入到数据库的?所以用户不能按回并刷新后重新输入数据已提交,因为目前他们可以。也请忽略 MYSQL root 登录,它只是用于测试目的。

这是我的代码

<?php
session_start();
 if (isset($_POST['sub'])) {
$host='localhost';
$user='root';
$pass='';
$db='theatre_booking';

$con=mysqli_connect($host,$user,$pass,$db);

$row = $_POST['row'];
$_SESSION["row"]=$row;  

$zone = $_POST['zone'];
$_SESSION["zone"]=$zone;

$quantity = $_POST['qty'];
$_SESSION["qty"]=$quantity;

$quantity = $_POST['quotation'];
$_SESSION["quotation"]=$quantity;


$sql="INSERT INTO booking(PerfDate, PerfTime, Name, Email, RowNumber) 
VALUES (
    '{$_SESSION['date']}',
    '{$_SESSION['time']}',
    '{$_SESSION['name']}',
    '{$_SESSION['email']}',
    '{$_SESSION['row']}')";

    if ($con->query($sql) === TRUE) {
    echo "Booking successful";
} else {
    echo "Error: " . $sql . "<br>" . $con->error;
    }

}






?>

<!------------------------------------------------------------------------------------>
<DOCTYPE! html>
<html>
<head>
    <meta charset="uft-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"">
    <meta name= "viewport" content="width=device-width, initial-scale=1.0"> 
    <link href="style/styles.css" type="text/css" rel="stylesheet">


</head>
<body>

        <h2 id="siteTitle">Westend</h2>
        <nav>
            <ul class="main_menu">
                <li><a href="index.php">Home</a></li>
                <li><a href="booking.php" >Booking</a></li>
            </ul>
        </nav>

    <!--Image shown in the background after booking is confirmed-->
    <div><img src="images/curtains.jpg" id="open"/> 
        <!--Booking confirmation message the user sees-->
        <div id="process">
            </br>Hi <?php echo "'".$_SESSION['name']."'"; ?></br>
            Your tickets have been booked for <?php echo "'".$_SESSION['production']."'";?>  
            </br>Playing on <?php echo "'".$_SESSION['date']."'";?> at <?php echo "'".$_SESSION['time']."'";?> </br>
            You are in <?php echo $_POST["zone"];?> in row <?php echo $_POST["row"];?></br>
            The total cost is £<?php echo $_POST["quotation"];?></br>
            Confirmation of your booking has been sent to: <?php echo "'".$_SESSION['email']."'"; ?></br>
            </br>
            Enjoy the show!
            </br>
    </div>
</div>


<!--Footer-->

<footer>
    <p class="pageBottom">&copy Westend 2015</p>
</footer>




</body>
</html>

解决方法 1:

我会在这里回答所以可以添加一些代码

if(isset($_POST["row"] && !empty($_POST["row"]){

   $sql="INSERT INTO booking(PerfDate, PerfTime, Name, Email, RowNumber) 
   VALUES (
   '{$_SESSION['date']}',
   '{$_SESSION['time']}',
   '{$_SESSION['name']}',
   '{$_SESSION['email']}',
   '{$_SESSION['row']}')";

  if ($con->query($sql) === TRUE) {
     echo "Booking successful";
  } else {
    echo "Error: " . $sql . "<br>" . $con->error;
  }
}
赞助商