1
如何在数据提交并插入数据库后清除表单数据?因此,用户在提交数据后不能回头刷新以重新输入数据,因为他们现在可以。也请忽略MYSQL根登录,它仅用于测试目的。如何在表单数据插入数据库后清除表格数据
这是我的代码
<?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">© Westend 2015</p>
</footer>
</body>
</html>
为什么你把$ _SESSION这个值? 使用简单的变量,你会解决这个问题。 P.S我建议你在$ _POST变量中做一些控制以避免sql注入攻击 –
Hi @ Alessandro.Vegna $ _Session持有从表单的前几页收集的值,所以结转。如何将控件添加到$ _POST变量? – YasMan
为控件只是看看这里http://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-in-php。 好的,所以你可以在$ sql = ...之后添加if _if(isset($ _ POST [“row”] &&!empty($ _ POST [“row”]))_ –