Ik heb jullie hulp nodig. Ik ben bezig met een hobby-projectje (jamjam1.haperen.eu), maar ik kom er niet uit. Ik heb een shopping cart gemaakt met behulp van php. Als iemand een product toevoegt, wordt deze vastgelegd in een session, hierin zitten onder andere de code van het product, prijs en hoeveelheid.
Op de bestelpagina staan ook meerdere persoonlijke gegevens die een klant kan invullen. Wanneer iemand op een submit knop drukt zou ik graag willen dat deze data d.m.v. een query naar mijn database verzonden wordt. Het ding is dat ik niet weet hoe ik dat moet doen met foreach, want als je meerdere producten hebt zijn er dus ook meerdere sessies.
De code hiervan staat hieronder.
Mocht je eten wat ik kan doen laat dan een reactie achter!
Gr. Gijs
<form name="methode">
<div class="ui-field-contain">
<label for="inp_first_name" class="control-label">Afhalen/Bezorgen</label>
<input type="radio" name="methode" value="afhalen" checked> Afhalen<br>
<input type="radio" name="methode" value="bezorgen"> Bezorgen<br>
</div>
<div class="ui-field-contain">
<label for="inp_first_name" class="control-label">Filiaalkeuze</label>
<SELECT NAME='filiaalkeuze'>
<OPTION VALUE='xx' disabled>Kies filiaal:</OPTION>
<?php
require('connecties.php');
$sql = "SELECT * FROM `filialen` WHERE filiaal not like 'Hoofdkantoor'";
$result = mysqli_query($connectie, $sql );
if (mysqli_num_rows($result) > 0) {
// output data of each row
while($row = mysqli_fetch_assoc($result)) {
echo "
<OPTION VALUE='" . $row["filiaal"]. "'>" . $row["filiaal"]. "</OPTION>";
}
} else {
echo "<OPTION VALUE='fout'>fout</OPTION>";
}
?>
</SELECT></div>
<h2>Contactgegevens</h2>
<div class="ui-field-contain">
<label for="inp_first_name" class="control-label">Voornaam</label>
<input type="text" name="voornaam" maxlength="30" placeholder="Verplicht" autocomplete="given-name" required />
</div>
<div class="ui-field-contain">
<label for="inp_first_name" class="control-label">Achternaam</label>
<input type="text" name="achternaam" maxlength="30" placeholder="Verplicht" autocomplete="family-name" required />
</div>
<div class="ui-field-contain">
<label for="inp_first_name" class="control-label">Telefoon</label>
<input type="text" name="telefoonnr" maxlength="30" placeholder="Verplicht" autocomplete="tel" required />
</div>
<div class="ui-field-contain">
<label for="inp_first_name" class="control-label">E-mailadres</label>
<input type="email" name="email" placeholder="Optioneel" autocomplete="email"/>
</div>
<h2>Bezorgadres</h2>
<div class="ui-field-contain">
<label for="inp_postal_code" class="control-label">Postcode</label>
<input type="text" name="postcode" maxlength="6" minlenght="6" placeholder="Verplicht,bijv: 1100AA" autocomplete="postal-code" required />
</div>
<div class="ui-field-contain">
<label for="inp_house_number" class="control-label">Huisnr</label>
<input type="text" name="huisnr" maxlength="10" placeholder="Verplicht" required />
</div>
<div class="ui-field-contain">
<label for="inp_street_name" class="control-label">Straatnaam</label>
<input type="text" name="straatnaam" maxlength="100" placeholder="Verplicht" required />
</div>
<div class="ui-field-contain">
<label for="inp_city" class="control-label">Woonplaats</label>
<input type="text" name="woonplaats" maxlength="50" placeholder="Verplicht" autocomplete="address-level2" required />
</div>
<div class="ui-field-contain">
<label for="inp_city" class="control-label">Gewenste tijdstip</label>
<input type="datetime-local" name="datumtijd" pattern="[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}" min="2020-02-01T00:00"required />
</div>
<div class="ui-field-contain">
<label for="OrderNotes" class="control-label">Heeft u opmerkingen voor uw bestelling?</label>
<input type="text" name="bestelgegevens" maxlength="100000" rows="5"/>
</div>
<?
$methode = mysqli_real_escape_string($connectie, $_POST["methode"]);
$filiaalkeuze = mysqli_real_escape_string($connectie, $_POST["filiaalkeuze"]);
$voornaam = mysqli_real_escape_string($connectie, $_POST["voornaam"]);
$achternaam = mysqli_real_escape_string($connectie, $_POST["achternaam"]);
$telefoonnr = mysqli_real_escape_string($connectie, $_POST["telefoonnr"]);
$email = mysqli_real_escape_string($connectie, $_POST["email"]);
$postcode = mysqli_real_escape_string($connectie, $_POST["postcode"]);
$huisnr = mysqli_real_escape_string($connectie, $_POST["huisnr"]);
$straatnaam = mysqli_real_escape_string($connectie, $_POST["straatnaam"]);
$woonplaats = mysqli_real_escape_string($connectie, $_POST["postcode"]);
$datumtijd = mysqli_real_escape_string($connectie, $_POST["datumtijd"]);
$bestelgegevens = mysqli_real_escape_string($connectie, $_POST["bestelgegevens"]);
$tijdbestelling = now();
?>
<?php
foreach ($_SESSION["shopping_cart"] as $product){
$prod = $product['code'];
$aant = $product['quantity'];
$klant = 1;
$sql = "insert into bestellingen (email, product, aantal, leveren, afgewerkt) values ('$klant', '$prod' , '$aant' , now() , 0";
}
?>