PC Help Forum Laatst gezien: Nooit
Niet ingelogd [Inloggen - Registreer]
Ga naar beneden

» Handige Downloads

» Sponsors

» Partners

» Zoeken
[ Geavanceerd Zoeken ]

» Praktische Zaken

» Nieuws en Info sites
Printbare versie | Word lid | Voeg toe aan favorieten  
Auteur: onderwerp: Reservatie Script V2
PatrickS
Lid




Posts: 47
Registreerde: 31-3-2010
Locatie: Groningen
Lid is online


[*] Gepost op 6-9-2010 om 12:54
Reservatie Script V2


Hallo, het probleem is nog altijd niet opgelost want hij schrijft nog steeds datums weg die niet mogen.

Code:

<form method="post" action="<?php echo ($_SERVER["PHP_SELF"]);?>">
<?php
// verbinding maken met database.
include("mysqlconnect2.php");
// als je niet via reserveren.php een huis kiest krijg je de fout melding dat je eerst een huisje moet kiezen.
if ($_SESSION['huis'] <> TRUE) {echo "Kies a.u.b. een vakantie woning";}
else {
// via de $_SESSION wordt mee gegeven uit de vorige pagina welk huis er gekozen is.
$huis = $_SESSION['huis'];
$huisplaats = $_SESSION['huisplaats'];
// met $jaar wordt standaart voor de klant ingevult welke jaar tal het nu is.
$jaar = date ("Y");
//hier worden de data ingevult in 6 velden en die worden later weer omgezet naar 2 velden.
if (!empty($_POST)){
$adag = $_POST["adag"];
$amaand = $_POST["amaand"];
$ajaar = $_POST["ajaar"];
$vdag = $_POST["vdag"];
$vmaand = $_POST["vmaand"];
$vjaar = $_POST["vjaar"];
// hier wordt gecontroleerd als de velden voor maand en dag al ingevult zijn want jaar hoeft tenslotte niet die wordt al standaard ingevult daar de varriable $jaar.
if ($adag == NULL){echo "<p> U heeft geen datum ingevult.<br><input type='Button' value='Ga Terug' onClick='javascript :history.back();'> </p>";}
else{
if ($vdag == NULL){echo "<p> U heeft geen datum ingevult.<br><input type='Button' value='Ga Terug' onClick='javascript :history.back();'> </p>";}
else {
if ($amaand == NULL){echo "<p> U heeft geen datum ingevult.<br> <input type='Button' value='Ga Terug' onClick='javascript :history.back();'> </p>";}
else {
if ($vmaand == NULL){echo "<p> U heeft geen datum ingevult.<br> <input type='Button' value='Ga Terug' onClick='javascript :history.back();'> </p>";}
}}
// hier wordt gecontroleerd als er een getal is ingevult en niet een letter of iets dergelijks.
if (is_numeric($adag) == true){if (is_numeric($amaand) == true){$adatum = "TRUE";};};
if (is_numeric($vdag) == true){if (is_numeric($vmaand) == true){$vdatum = "TRUE";};};
// hier wordt gezegt wanneer de datums niet goed zijn ingevult.
if ($adatum <> TRUE){echo "<p>De datums zijn niet goed ingevult.<br> <input type='Button' value='Ga Terug' onClick='javascript :history.back();'> </p>";}
else {
if ($vdatum <> TRUE){echo "<p>De datums zijn niet goed ingevult.<br> <input type='Button' value='Ga Terug' onClick='javascript :history.back();'> </p>";}
else {
// hier worden de datums inelkaar gedraait aangezien ze boven in 6 losse velden zijn gezet.
$aankomstdatum = "$adag/$amaand/$ajaar";
$vertrekdatum = "$vdag/$vmaand/$vjaar";
$aankomstdatum2 = "$amaand/$adag/$ajaar";
$vertrekdatum2 = "$vmaand/$vdag/$vjaar";
// hier converteren we de datums zodat mysql het ook snapt.
$myinput=$aankomstdatum2;
$sqldate=date('Y-m-d',strtotime($myinput));

$myinput2=$vertrekdatum2;
$sqldate2=date('Y-m-d',strtotime($myinput2));

$myinput3=$day;
$sqldate3=date('Y-m-d',strtotime($myinput3));
// hier wordt het aantal dagen berekent tussen de aankomst_datum en de vertrek_datum.
function dateDiff($dformat, $endDate, $beginDate)
{
$date_parts1=explode($dformat, $beginDate);
$date_parts2=explode($dformat, $endDate);
$start_date=gregoriantojd($date_parts1[0], $date_parts1[1], $date_parts1[2]);
$end_date=gregoriantojd($date_parts2[0], $date_parts2[1], $date_parts2[2]);
return $end_date - $start_date;
}
// hier wordt het bovenstaande uitgevoerd.
$Dagen = dateDiff("/", $vertrekdatum2, $aankomstdatum2);
// hier wordt gecontroleerd als de dagen niet minder dan 0 zijn dus bijvoorbeeld niet van 5 mei 2010 tot 4 mei 2010.
if ($Dagen < 0){echo "<p>De aankomst- en vertrek data zijn niet goed ingevult!<br> <input type='Button' value='Ga Terug' onClick='javascript :history.back();'> </p>";}
else{
// hier wordt de controle uitgevoerd als er geen overlappende datums zijn.
$check = TRUE;
// hier wordt de query gecontroleerd op het gekozen huis
$checksql="SELECT aankomst_datum, vertrek_datum FROM reserveren WHERE huis =$huis";
//De gekozen datums van het gekozen vakantiehuis worden door gecontrolleerd als de aankomst_datum en vertrek_datum niet al ergens anders tussen vallen of gekozen zijn.
$sql2=mysql_query($checksql) ;
while($data2=mysql_fetch_array($sql2))
{
$aankomst_datum=$data2['aankomst_datum'];
$vertrek_datum=$data2['vertrek_datum'];


while ($aankomst_datum <> $vertrek_datum) {

if ($aankomst_datum == $sqldate)
{$check = false; $aankomst_datum = $vertrek_datum;}
else {$aankomst_datum = date( "Y-m-d", strtotime( "$aankomst_datum +1 day" ) );}
}
while ($aankomst_datum <> $vertrek_datum) {

if ($aankomst_datum == $sqldate2)
{$check = false; $aankomst_datum = $vertrek_datum;}
else {$aankomst_datum = date( "Y-m-d", strtotime( "$aankomst_datum +1 day" ) );}
}}
// als het gekozen datums wel tussen andere gekozen datums vallen wordt dat hier vermeld.
if ($check <> TRUE){echo "<p> Onze exucesses maar het huisje op $huisplaats is al verhuurt tussen deze data. <br> <input type='Button' value='Ga Terug' onClick='javascript :history.back();'> </p>";}
else{
// zo niet wordt hier alles weg geschreven naar de database velden.
$klantnummer = $_SESSION['klantnummer'];
$insert ="INSERT INTO reserveren(klantnummer, huis, aankomst_datum, vertrek_datum)
VALUES ('".$klantnummer."', '".$huis."', '".$sqldate."', '".$sqldate2."')";

$result = mysql_query($insert)or die ("INSERT FOUT: " .mysql_error());
echo "<p>De reservering is succesvol verlopen,<br> Uw aankomstdatum is : $aankomstdatum <br>uw verterkdatum is : $vertrekdatum.";
}}}}}}
else {
//een klein overzichtje wordt weer gegeven voordat de datums zijn ingevoerd.
$query=" SELECT * FROM huisjes WHERE huis = $huis";

$sql=mysql_query($query) or die ("FOUT ; " .mysql_error());
while($data=mysql_fetch_array($sql))

$afbeelding=$data['afbeelding'];
$huisplaats= $_SESSION['huisplaats'];
$prijs = $_SESSION['prijs'];

echo ("<p><img src='$afbeelding' alt='Vakantiehuis' width='200' height='160' /><br><br>
<p> U heeft gekozen voor $huisplaats . <br>
De kosten zijn €$prijs,- per dag. </p><br>
<p>
Boeking:<br />
Gewenste aankomst datum:
<input size='2' type='text' name='adag'> - <input size='2' type='text' name='amaand'> - <input size='4' type='text' name='ajaar' value='$jaar'><br>
Gewenste vertrek datum :
<input size='2' type='text' name='vdag'> - <input size='2' type='text' name='vmaand'> - <input size='4' type='text' name='vjaar' value='$jaar'><br>
<input type='submit' name='submit' value='Reserveer Nu!'>
");
}}
?>
</form>


De fout is als volgt.
datum 1 -> 04-10-2010 tot 04-11-2010 (word weggeschreven wat mag)
datum 2 -> 03-10-2010 tot 04-11-2010 (word weggeschreven terwijl dat niet mag aangezien datum 1 ertussen valt.)

hopenlijk snap je het.

ik werk trouwens met variabele gegevens voor de datums.
Bekijkt gebruikers profiel Bezoek  gebruiker zijn webpagina Bekijk deze gebruiker zijn posts U2U Gebruiker

Ga naar boven


Onze Sponsors


Powered by XMB 1.9.8 Engage Final SP2
Ontworpen door De XMB Group © 2001-2008

[Tekens: 18]
[PHP: 94.6% - SQL: 5.4%]