У меня есть форма для бронирования, где пользователи могут забронировать определенный объект в определенную дату и в два раза. Я пришел к тому моменту, когда мой PHP-код будет препятствовать тому, чтобы пользователь заказывал один и тот же шаг в одну и ту же дату и с того же самого начала или окончания.Проверить ценность двух раз в моей базе данных php
Однако пользователь может пойти между временем и забронировать тот же объект в тот же день, что и другой пользователь. например если один пользователь забронировал с 9 по 12 мая 1 мая, другой пользователь может зайти и заказать 10 или 11 слотов.
Есть ли способ предотвратить использование пользователем времени между тем, как другой пользователь уже забронировал ???
<?php
include "config.php";
//Booking point
if(isset($_POST['booking']))
{
//get values for variables
$pitchID = $_POST['pitchID'];
$start_date = $_POST['start_date'];
$start_hour = $_POST['start_hour'];
$end_hour = $_POST['end_hour'];
$booking_age = $_POST['booking_age'];
$pitch_size = $_POST['pitch_size'];
$light_tokens = $_POST['light_tokens'];
/* $q = $db->prepare("SELECT * FROM booking WHERE start_date = ?, start_hour = ?, end_hour=?, pitchID=?");
$query = $q->execute(array($start_date, $start_hour, $end_hour, $pitchID));
$count = $q->rowCount(); */
$q = $db->prepare("SELECT * FROM booking WHERE start_date = ? AND start_hour = ? AND pitchID = ?");
$query = $q->execute(array($start_date, $start_hour, $pitchID));
$count = $q->rowCount();
if($count == 0){
$query = $db->prepare("INSERT INTO booking SET pitchID = ?, start_date = ?, start_hour = ?, end_hour = ?, booking_age = ?, pitch_size = ?, light_tokens = ?, userID='$userID'");
$query = $query->execute(array($pitchID,$start_date,$start_hour,$end_hour,$booking_age,$pitch_size,$light_tokens));
if($query){
echo "Your booking has been made";
header("Location:home2_template.html");
return;
} else {
echo "Fail";
} //else fail
} else {
echo "This booking already exists";
} //else count
} //if booking
?>
чем вопрос? – cske
Есть ли способ предотвратить использование пользователем времени между тем, как еще один пользователь уже забронировал ??? – Stuart
Вы можете использовать между функцией PF mysql – LTasty