Привет, кто-нибудь знает, как избежать/остановить повторную вставку для php и html? Всякий раз, когда я обновляюсь, повторяются одни и те же данные, которые я не хочу. Есть ли что-то, что я могу изменить здесь? Я слышал, что добавление UNIQUE INDEX может избежать/остановить его. Возможно, это работает, но я ошибаюсь, что делает его невозможным. Любая помощь? Заранее спасибо!!! Будем очень благодарны!Как избежать/прекратить повторную вставку для php и html?
<?php
session_start();
include("Validation.php");
$connect=mysqli_connect("localhost","root","","jailbird");
if(mysqli_error($connect))
{
die("Could not connect.");
}
if(isset($_POST["insert_click"]))
{
//Bookingid is auto increment, therefore no need
//$Bookingid=$_POST["BookingID"];
$Prisonerid=$_SESSION['Prisonerid'];
$Visiting_method=$_POST["VisitingMethod"];
$Visiting_location=$_POST["VisitingLocation"];
$Date=$_POST["Date"];
$Time=$_POST["Time"];
$query=$connect->prepare("insert into Booking(PrisonerID, VisitingMethod, VisitingLocation, Date, Time) values (?,?,?,?,?)");
$query->bind_param('sssss', $Prisonerid, $Visiting_method, $Visiting_location, $Date, $Time);
$query->execute();
}
$query=$connect->prepare("select * from booking WHERE Prisonerid=?");
$query->bind_param('s',$_SESSION['Prisonerid']);
$query->execute();
$query->bind_result($Bookingid, $Prisonerid, $Visiting_method, $Visiting_location, $Date, $Time);
while($query->fetch())
{
echo "<tr>";
//echo "<td width=60>".$Bookingid."</td>";
echo "<td>$Prisonerid</td>";
echo "<td>$Visiting_method</td>";
echo "<td>$Visiting_location</td>";
echo "<td>$Date</td>";
echo "<td>$Time</td>";
echo "</tr>";
}
?>
Должно ли это быть защищено? –
Вы также можете управлять им с помощью PHP, например: установить сеанс после вставки '$ _SESSION ['insert'] = 'yes'', а затем добавить его как проверку на' if (isset ($ _ POST ["insert_click"]) && $ _SESSION ['insert']! = 'Yes') ' –
Плюс этот вопрос задан, [См. Здесь] (http://stackoverflow.com/questions/2133964/how-to-prevent-multiple-inserts -when-submitting-a-form-in-php) –