Ich brauche deine Hilfe. Ich stecke an einem Punkt fest, an dem ich nicht herausfinden kann, wie man ein Produkt zweimal am Tag auf einem Webformular verbucht.PHP & MySQL - nicht dieselben Daten einfügen
Ich habe 41 Produkte auf täglicher Basis zu vermieten.
Mein Problem ist: wenn ein Kunde ein Produkt # 4 (pg_no) und das Datum 26-06-2017 bucht, dann kann ein anderer Kunde nicht dasselbe Produkt für den gleichen Zeitraum buchen.
Wenn ein Kunde das gleiche Produkt und das Datum auswählt, dann sollte eine Meldung erscheinen sagen „bereits ausgebucht - bitte wählen Sie ein anderes Datum“
Auch habe ich alles auf Datenbank-Ebene definieren?
Ihre Hilfe wird sehr geschätzt.
Bitte beachten Sie: Diese Regel gilt nur für Produkt # (pg_no) und Datumsfelder sind nicht für den gleichen Tag erlaubt.
<?php
//connecting string
include("dbconnect.php");
//assigning
$pg_no=$_REQUEST['pg_no'];
$name=$_REQUEST['Name'];
$tele=$_REQUEST['Tele'];
$city=$_REQUEST['City'];
$date=$_REQUEST['Date'];
//checking if pg_no and Date are same
$check=mysqli_query($db_connect,"SELECT * FROM lstclient WHERE pg_no='{$pg_no}', Date='{$date}'");
if(mysqli_fetch_row($check) ==0)
{
echo "Already booked please select another date<br/>";
}
//if not the insert data
else
{
$query=mysqli_query($db_connect,"INSERT INTO lstclient(pg_no,Name,Tele,City,Date) VALUES('$pg_no','$name','$tele','$city','$date')") or die(mysql_error());
}
mysqli_close($db_connect);
// messaging
if($query)
{
header("location:index.php?note=failed");
}
else
{
header("location:index.php?note=success");
}
?>
Sie haben eklatante SQL-Injections, wenn dies jemals auf einem Server das reale Internet verbunden laufen Sie jede Eingabe entkommen muss, die Sie von einem $ _REQUEST erhalten, bevor sie mit einer SQL-Zeichenfolge zu bauen. Ich entkomme alles und es funktioniert großartig. Automatisierte Bots finden dies und essen Ihre Website zum Frühstück. – wedstrom